T-sql动态sql

一:T-sql中的动态sql实现方式
      sqlserver2000中的做法是使用系统存储过程sp_executesql
      sp_executesql的语法格式如下:sp_executesql N'select @count=count(*) from emp_test',N'@count int output',output_number output
     如上所示,想得到了select中的@count局部变量的值就搞定了,同时请注意如下两点,1:定义的参数必须是Unicode编码的字符串。
     字符串中输出的参数必须在第二个参数中写出。
    
    在2005中T-sql对动态sql进行了增强,除了可以使用sp_executesql系统存储过程外,还可以使用exec语句
    语法格式:
     exec('varchar|char|nchar|nvarchar|text|ntext literal constant')
    举例:
     exec('create table test(id int not null,username varchar(40))')---定义一个表
     select * from test                                             --查询刚动态sql创建的表
    提示:Tsql规定DDL语句必须是批处理的第一行,

你可能感兴趣的:(sql)