在select语句中设置参数

时间:2011-10-02 19:52:21

标签: sql sql-server tsql sql-server-2008

我试图在select语句中设置一个参数,然后将它传递给同一语句中的用户定义函数。这可能吗?如果是的话,我的错误在哪里?如果不是,那么我想我将不得不写一个游标和一些我想避免的临时表。

declare @param varchar(1000)
select Pincode, Name,( @param = AlternateName) as AlternateName 
,(select Top(1) part  from SDF_SplitString (@param,',')) as NewName  from PinCodeTable

1 个答案:

答案 0 :(得分:3)

您可以将所有字段作为变量输出,或者获取通常的行集,但不能在单个SELECT中混合使用。变量仅限于返回不超过一行的查询。 (为什么我觉得我要学到可怕的东西?)

如果您正在编写存储过程并执行类似标题/尾部行集的操作,则始终可以返回根据变量构建的行集:

SELECT @Foo = Foo, @Bar = Bar, ... from Headers where Id = 42
SELECT @Foo as Foo -- Return the first rowset.
SELECT Size, Weight, Color from Trailers where Bar = @Bar -- Return second rowset.