emad4000
دوشنبه 04 دی 1391, 14:47 عصر
سلام دوستان
من یه سری جدول دارم که محتوی یکسان دارن، ولی براساس سال از هم جدا شدن
یعنی اسم همشون یک پیشوند و پسوند یکسان داره، فقط عدد مربوط به سال وسط این رشته اومده
مثلاً
Table1380Kerman
Table1381Kerman
Table1390Kerman
…
حالا می خوام یک کوئری بنویسم که پارامتر سال رو بگیره و بره از تو جدول مربوط به اون سال چندتا ستون خاص رو برگردونه
من این تابع (Multi State Function) رو توی SQL Server 2008 براش نوشتم
ALTER FUNCTION [dbo].[TF_GetSalary] ( @year nvarchar(4) )
RETURNS @T_ReturnTable TABLE ( F_Column1 int, F_Column2 int )
AS
BEGIN
INSERT @T_ReturnTable
SELECT Column1, Column2
FROM [MyDB].[dbo].['Table' +@year + 'Kerman']
RETURN
END
این تابع ساخته میشه، ولی وقتی می خوام ازش داده بخونم خطا میده
دستور خواندن داده :
SELECT * FROM [MyDB].[dbo].[TF_GetSalary] ('1390')
GO
خطای ظاهر شده:
Msg 208, Level 16, State 1, Line 1
Invalid object name 'MyDB.dbo.'Table' + @year + 'Kerman''.
لطفا اگه کسی میدونه مشکل از کجاست راهنمایی کنه، ممنون میشم
من یه سری جدول دارم که محتوی یکسان دارن، ولی براساس سال از هم جدا شدن
یعنی اسم همشون یک پیشوند و پسوند یکسان داره، فقط عدد مربوط به سال وسط این رشته اومده
مثلاً
Table1380Kerman
Table1381Kerman
Table1390Kerman
…
حالا می خوام یک کوئری بنویسم که پارامتر سال رو بگیره و بره از تو جدول مربوط به اون سال چندتا ستون خاص رو برگردونه
من این تابع (Multi State Function) رو توی SQL Server 2008 براش نوشتم
ALTER FUNCTION [dbo].[TF_GetSalary] ( @year nvarchar(4) )
RETURNS @T_ReturnTable TABLE ( F_Column1 int, F_Column2 int )
AS
BEGIN
INSERT @T_ReturnTable
SELECT Column1, Column2
FROM [MyDB].[dbo].['Table' +@year + 'Kerman']
RETURN
END
این تابع ساخته میشه، ولی وقتی می خوام ازش داده بخونم خطا میده
دستور خواندن داده :
SELECT * FROM [MyDB].[dbo].[TF_GetSalary] ('1390')
GO
خطای ظاهر شده:
Msg 208, Level 16, State 1, Line 1
Invalid object name 'MyDB.dbo.'Table' + @year + 'Kerman''.
لطفا اگه کسی میدونه مشکل از کجاست راهنمایی کنه، ممنون میشم