简体   繁体   English

在 SQL 查询中设置变量

[英]Set variable in SQL query

I am trying to set variable but I get Incorrect syntax near '='.我正在尝试设置变量,但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

If I try like this:如果我这样尝试:

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

I get must declare variable @name although I have it as my input store procedure param.must declare variable @name ,尽管我将它作为我的输入存储过程参数。

For declaring variable, you can go through Declaring Variable in mysql However you need to do something like this to make it run <>db-fiddle对于声明变量,您可以通过在 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