科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道学习SQL应知道的动态SQL语句基本语法

学习SQL应知道的动态SQL语句基本语法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

1 、普通SQL语句可以用Exec执行 yXp7C'( @lq^GARP*

作者:赛迪网 来源:赛迪网 2007年9月4日

关键字: 语法 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件
1 、普通SQL语句可以用Exec执行 yXp7C'(  
@lq^GARP*  
eg: Select * from tableName *&;o Tj  
Exec('select * from tableName') /;1oFy:   
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N HNu{7-@ 1  
fT E#  
2、字段名,表名,数据库名之类作为变量时,必须用动态SQL F=6lGI t  
$v RIx``2  
eg: N(i[}3| x  
declare @fname varchar(20) s|J~o#x?  
set @fname = 'FiledName' sa?Cv  
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。 p !KlG5  
Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格 [ kGB}  
7Wz|i?@&  
当然将字符串改成变量的形式也可 9jSOKYm~ m  
declare @fname varchar(20) 9V4HnJ\bb  
set @fname = 'FiledName' --设置字段名 "!sK 9_&7  
^v(h f  
declare @s varchar(1000) [29+#q&  
set @s = 'select ' + @fname + ' from tableName' \ s?q~X<X5  
Exec(@s) -- 成功 4%ISg2}Y  
exec sp_executesql @s -- 此句会报错 j,wqrK|0i  
bW_CFC[  
/ht!m`P  
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000) L6Wb.v(u  
set @s = 'select ' + @fname + ' from tableName' C ITW1 <  
Exec(@s) -- 成功 ?<}_xw0I  
exec sp_executesql @s -- 此句正确 Dz-WJaoaH@  
+lid%<q{49  
3、输出参数 r&k\2>)  
P:!C2-phk  
declare @num int, W4ey9G  
@sqls nvarchar(4000) | _h{  
set @sqls='select count(*) from tableName' 3ud*Dj8V  
exec(@sqls) r . m%z  
--如何将exec执行结果放入变量中? G @y_5X&  
L%y8:D|  
declare @num int, Td4'%H%hO  
@sqls nvarchar(4000) Tj  zX8oF  
set @sqls='select @a=count(*) from tableName ' [+m}E/$  
exec sp_executesql @sqls,N'@a int output',@num output &8(rj>  
select @num k|z9V"`%  
>X$rH%K  
此外,如果想要在SQL语句 字符串中使用 单引号 '' 可以 使用 ''''

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章