标量变量,我有以下声明:必须声明与SELECT语句
DECLARE @Nr_Karton int;
SELECT @Nr_Karton = ISNULL(MAX(Nr), 1000) FROM W_Karton;
SET @Nr_Karton = @Nr_Karton + 1;
INSERT INTO W_Karton (Container_ID, Nr, Beschrieb, CreationDate, Location)
VALUES ('1', @Nr_Karton, '', getDate(), 'Bösingen');
但我得到的错误:
[SQL] SELECT @Nr_Karton = ISNULL(MAX(Nr), 1000) FROM W_Karton
[Err] 42000 - [SQL Server]Must declare the scalar variable "@Nr_Karton".
如何摆脱错误的?
你的代码对我来说看起来很好。它会发生什么?作为一个便笺,请不要重新发明身份栏! – Bridge
@Bridge我编辑显示完整的错误。关于重新使用身份专栏,你的意思是什么? –
您发布的代码在SSMS 2008中解析没有错误,是否真的提供错误的代码?你如何执行它?你可能试图逐行执行而不是单批执行?正如Bridge所说,您应该使用['IDENTITY'专栏](http://msdn.microsoft.com/zh-cn/library/ms186775(v = sql.100).aspx),而不是自己生成ID值。 – Pondlife