首页 新闻 会员 周边 捐助

sqlserver 函數執行動態sql語句,取值

0
悬赏园豆:5 [已解决问题] 解决于 2011-11-30 11:28

如何在函數中執行動態sql語句并取執行改sql語句的值的?
declare @sql nvarchar(4000)
begin
set @sql ='
select  top 2 * from pubuser.pfs_userm
except
select  top 1 * from pubuser.pfs_userm '
exec (@sql)
end;

soarfe的主页 soarfe | 初学一级 | 园豆:146
提问于:2011-09-01 08:43
< >
分享
最佳答案
0

没看明白,可不可以描述清楚点哦

收获园豆:5
artwl | 专家六级 |园豆:16736 | 2011-09-01 09:10

exec (select  top 2 * from pubuser.pfs_userm
except
select  top 1 * from pubuser.pfs_userm)的之為

id    name
1     張三
我現在取name的值

 

soarfe | 园豆:146 (初学一级) | 2011-09-01 09:45

@soarfe:

试试这个:

declare @sql nvarchar(4000)
begin
set @sql ='
select top 2 pubuser.pfs_userm.Name from pubuser.pfs_userm
except
select top 1 pubuser.pfs_userm.Name from pubuser.pfs_userm
'
exec (@sql)
end;

artwl | 园豆:16736 (专家六级) | 2011-09-01 10:05

我是這樣的

declare @sql nvarchar(4000)
declare @username nvarchar(20)
begin
set @sql ='

select  top 2 pubuser.pfs_userm.Name from pubuser.pfs_userm
except
select top 1 pubuser.pfs_userm.Name from pubuser.pfs_userm
'
exec (@sql)
如何取exec (@sql) 結果賦值給 @username
end;
soarfe | 园豆:146 (初学一级) | 2011-09-01 10:17
declare @sql nvarchar(4000)
declare @username nvarchar(20)
begin
set @sql ='select @username=Name from(
select top 2 pubuser.pfs_userm.Name from pubuser.pfs_userm
except
select top 1 pubuser.pfs_userm.Name from pubuser.pfs_userm) A
'
exec sp_executesql @sql,N'@username nvarchar(20) output',@username output
select @username
end;
artwl | 园豆:16736 (专家六级) | 2011-09-01 10:52

@天行健 自强不息:这个可以

马战鹏 | 园豆:432 (菜鸟二级) | 2011-09-01 11:43
其他回答(2)
0

神马意思?

马战鹏 | 园豆:432 (菜鸟二级) | 2011-09-01 08:59

就是我執行動態(exec (@sql))后,我要取這個sql語句執行的結果

支持(0) 反对(0) soarfe | 园豆:146 (初学一级) | 2011-09-01 09:42
0

是获取返回值吧?可以参考 http://technet.microsoft.com/zh-cn/library/ms188001.aspx

Devin Mao | 园豆:596 (小虾三级) | 2011-09-01 09:34

是的

支持(0) 反对(0) soarfe | 园豆:146 (初学一级) | 2011-09-01 09:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册