在我的脚本中,我有几个select语句和更新语句,作为示例
SELECT * from TABLE1
WHERE userID= 'US001'
UPDATE TABLE2
SET value= 'months'
WHERE userID='US001'
语句如此,所以在这里我必须将userID复制并粘贴到每个语句。 我想声明一个变量并分配给userID来引用它,所以我不需要为每个查询添加userID号,我需要执行
我试过这个
Delcare @theID userID
SET userID ='us001'
但没有成功
请让我知道.. 感谢
答案 0 :(得分:2)
您需要声明类型并分配它。在Sql Server中,变量以@
为前缀,如下所示:
DECLARE @theID NVARCHAR(20);
SET @theID ='us001';
UPDATE TABLE2 SET value= 'months' WHERE userID=@theID;
答案 1 :(得分:1)
DECLARE @theID varchar(10);
SET @theID = 'us001';
在您的对帐单中,您将变量声明为userID
,这不是有效的数据类型。
答案 2 :(得分:1)
除了之前的答案,在SQL Server 2008及更高版本中,您还可以在一行中声明和设置变量。
DECLARE @UserID NVARCHAR(20) = 'us001';
答案 3 :(得分:0)
这在SQL2005下的存储过程中对我有用:
DECLARE @name varchar(100)
SELECT @name = 'Robin'
// and this should be do the update
SET userID = @name
// or in you query it should be
WHERE userID = @name