繁体   English   中英

在 SQL 查询中设置变量

[英]Set variable in SQL query

我正在尝试设置变量,但Incorrect syntax near '='. .

    DECLARE @name NVARCHAR(100) = 'Some name'
    DECLARE @id INT
    EXECUTE ('SET ' + @id + ' = (SELECT mm.mmID FROM dbo.measurem AS mm
        WHERE mm.placeName = ''' + @name + ''')')
    PRINT @id

如果我这样尝试:

SET @id= (SELECT mm.mmID FROM dbo.measurem AS mm
          WHERE mm.placeName = @name)

must declare variable @name ,尽管我将它作为我的输入存储过程参数。

对于声明变量,您可以通过在 mysql 中声明变量来 go但是您需要执行以下操作才能使其运行<>db-fiddle

SELECT @my_name := 'Some name';
SELECT @id;
SET @s = CONCAT (
        'Select mm.mmID into @id From measurem as mm where 
    mm.placeName='
        ,''''
        ,@my_name
        ,''''
        );
PREPARE stmt
FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SELECT @id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM