在SQL Server Management Studio中,我想为一个声明的参数设置多个值。我想知道下面的脚本是否有效:
declare @Parameter_A NVARCHAR(MAX)
set @Parameter_A = 'ABC, DEF, GHI, JKL'
如果上述脚本不是实现我想要的正确方法,有人可以帮助我吗?谢谢。
答案 0 :(得分:1)
正如评论中所提到的,它完全取决于你打算用参数做什么来实现这个目标的最佳方法(也许甚至可以添加你如何获得所选择的值来存储)。如果你能详细说明这两件事,我们可能会给你更好的建议。
您可以轻松地使用一件事来存储多个值,而无需将这些值解析回来是使用表变量:
DECLARE @Params TABLE (A NVARCHAR(MAX))
INSERT @Params VALUES
('ABC'), ('DEF'), ('GHI'), ('JKL')
SELECT * FROM @Params
答案 1 :(得分:-1)
我不知道这是否会有所帮助,但是...有一种称为光标的类型,它就像一个矢量或一个数组。它是这样用的:
CURSOR name IS SELECT something
FROM some_table;
这样你就可以在名为" name"的游标中存储大量信息。 要遍历其值,您可以使用如下循环:
OPEN name;
LOOP
FETCH nome INTO x;
EXIT WHEN nome%NOTFOUND;
dbms_output.put_line(x);
END LOOP;
CLOSE nome;
这样就可以打印存储的所有值。希望有所帮助!