SQL Server 2005不能向局部变量赋予默认值
在SQL Server 2008中的触发器中定义了几个变量,保存完成正常生效。
当将该触发器在SQL Server 2005中的保存时,则提示不能向局部变量赋予默认值。
经过网络查找后发现,这也是SQL Server 2005和SQL Server 2008中关于变量使用的一个区别:
DECLARE @RepeatCount int = 0;
DECLARE @OperationType int = 3;
sql2005中会提示错误 ”不能向局部变量赋予默认值。“
解决方法:
DECLARE @RepeatCount int;
set @RepeatCount = 0;
DECLARE @OperationType int;
set @OperationType = 3;
-----------------------------------
原因:
变量在定义中初始化, 是 2008才开始的
你可以在循环前,使用 SET 或者SELECT 语句初始化一下就行, 不要在定义中初始化