[英]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.