sql 执行动态语句

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

收获园豆:5
回复 artwl 专家六级 |园豆:16486 | 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的值

支持(0)反对(0)回复 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;

 

支持(0)反对(0)回复 artwl | 园豆:16486 (专家六级) | 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;
支持(0)反对(0)回复 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;
支持(0)反对(0)回复 artwl | 园豆:16486 (专家六级) | 2011-09-01 10:52

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

支持(0)反对(0)

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。