我试图在select语句中设置一个参数,然后将它传递给同一语句中的用户定义函数。这可能吗?如果是的话,我的错误在哪里?如果不是,那么我想我将不得不写一个游标和一些我想避免的临时表。
declare @param varchar(1000)
select Pincode, Name,( @param = AlternateName) as AlternateName
,(select Top(1) part from SDF_SplitString (@param,',')) as NewName from PinCodeTable
答案 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.