在sql 2005中声明变量

时间:2013-12-06 12:15:40

标签: sql sql-server

在我的脚本中,我有几个select语句和更新语句,作为示例

SELECT * from TABLE1
WHERE userID= 'US001'

UPDATE TABLE2
SET value= 'months'
WHERE userID='US001'

语句如此,所以在这里我必须将userID复制并粘贴到每个语句。 我想声明一个变量并分配给userID来引用它,所以我不需要为每个查询添加userID号,我需要执行

我试过这个

Delcare @theID userID
SET userID ='us001'

但没有成功

请让我知道.. 感谢

4 个答案:

答案 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
相关问题