科技行者

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

知识库

知识库 安全导航

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

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

  • 扫一扫
    分享文章到微信

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

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

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年9月2日

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

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

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

1 、普通SQL语句可以用Exec执行 o#ym U`|  
'\W\8'  
eg: Select * from tableName  ~&G 4z!  
Exec('select * from tableName') ^|..(O  
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N )au.Kc)  
S(B~q47Le  
2、字段名,表名,数据库名之类作为变量时,必须用动态SQL _w$vrA{  
C9~e^+GI  
eg: R"|uvbJv  
declare @fname varchar(20) {x6?@rn  
set @fname = 'FiledName' ^Zior\[Y  
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。 B/?.)Yj/E0  
Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格 @c v $"L)  
9F%+C9R  
当然将字符串改成变量的形式也可 )-xV0+rQ  
declare @fname varchar(20) s&\Xg=gQ  
set @fname = 'FiledName' --设置字段名 PN_6gO"a  
GPa_PEt  
declare @s varchar(1000) @;6^aM5  
set @s = 'select ' + @fname + ' from tableName' '!9w,.&U  
Exec(@s) -- 成功 wm9yyxW  
exec sp_executesql @s -- 此句会报错 HJ]<u/-#F  
 <aCyo2t  
S NU[BQ  
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000) 0a3"n|r  
set @s = 'select ' + @fname + ' from tableName' bI6{v%9)  
Exec(@s) -- 成功 2MNg\rbp  
exec sp_executesql @s -- 此句正确 ,g hc~8  
4w^q!FO  
3、输出参数 uC|& [d_u  
Mb/yZU3H  
declare @num int, SKuS`t]K<e  
@sqls nvarchar(4000) 4+@V Ua  
set @sqls='select count(*) from tableName' qqJ#"2(=&  
exec(@sqls) UAAh,  
--如何将exec执行结果放入变量中? :}^%uyEeh(  
aP+$(i+  
declare @num int, BlH\Q m^V  
@sqls nvarchar(4000) =Xl8(X$s4  
set @sqls='select @a=count(*) from tableName ' !~ew}gP}  
exec sp_executesql @sqls,N'@a int output',@num output ul$(?l  
select @num .& bh$0m  
y'b"0/  
此外,如果想要在SQL语句 字符串中使用 单引号 '' 可以 使用 ''''

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

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

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