1
当我运行在SQL Server中下面的T-SQL 2012,它工作正常,但在SQL Server 2008 R2中我得到的错误SQL:必须声明标量变量
必须声明标量变量“@In”
and
必须声明标量变量“@out”
代码:
DECLARE @outIds nvarchar(max);
DECLARE @in TimeLineReportList;
DECLARE @out TimeLineReportList;
DECLARE @startDate datetime;
DECLARE @endDate datetime;
DECLARE @assessmentId int;
SET @startDate ='2013-01-01T00:00:00.000'
SET @endDate ='2013-01-01T00:00:00.000'
SET @assessmentId = 14
SET @outIds ='3,9,10'
INSERT INTO @in
SELECT *
FROM dbo.udf_First_Timeline_Entries_Of_Status(@assessmentId)
INSERT INTO @out
SELECT *
FROM dbo.udf_First_Timeline_Entries_Of_Any_Statuses(@outIds)
SELECT *
FROM dbo.udf_Generic_Timelines(@startDate, @endDate, @in, @out,default)
TimeLineReportList
是,在肯定存在的用户定义的表型数据库
编辑我只是刚刚运行以下和两个返回的结果测试的前两个疑问:
SELECT * FROM dbo.udf_First_Timeline_Entries_Of_Status(@assessmentId)
SELECT * FROM dbo.udf_First_Timeline_Entries_Of_Any_Statuses(@outIds)
您的数据库处于80兼容模式?这些UDF是否为TVF?也是2008年<> 2008 R2。 – 2014-09-10 16:12:44
@AaronBertrand明确2008R2,而不是2008. 2012实例是在90兼容模式,但在2008R2实例在80 – hofnarwillie 2014-09-10 16:17:03
@AaronBertrand哦是的,它是表值函数 – hofnarwillie 2014-09-10 16:17:28