文档介绍:动态语句基本语法1:普通SQL语句可以用exec执行Select*fromtableNameexec('select*fromtableName')execsp_executesqlN'select*fromtableName'--请注意字符串前一定要加N2:字段名,表名,数据库名之类作为变量时,必须用动态******@fnamevarchar(20)******@fname='FiledName'******@fnamefromtableName--错误,不会提示错误,但结果为固定值FiledName,并非所要。exec('select'+***@fname+'fromtableName')--请注意加号前后的单引号的边上加空格当然将字符串改成变量的形式也可******@fnamevarchar(20)******@fname='FiledName'--设置字段名******@svarchar(1000)******@s='select'+***@fname+'fromtableName'exec(***@s)--成功execsp_******@s--此句会报错******@sNvarchar(1000)--注意此处改为nvarchar(1000)******@s='select'+***@fname+'fromtableName'exec(***@s)--成功execsp_******@s--******@numint,***@sqlsnvarchar(4000)******@sqls='selectcount(*)fromtableName'exec(***@sqls)--如何将exec执行结果放入变量中?******@numint,***@sqlsnvarchar(4000)******@sqls='******@a=count(*)fromtableName'execsp_******@sqls,N'***@aintoutput',***@******@num1:普通SQL语句可以用Exec执行例:Select*fromtableNameExec('select*fromtableName')Execsp_executesqlN'select*fromtableName'--请注意字符串前一定要加N2:字段名,表名,数据库名之类作为变量时,必须用动态SQL错误:******@fnamevarchar(20)******@fname='FiledName'******@fnamefromtableName--错误,不会提示错误,但结果为固定值FiledName,并非所要。正确:Exec('select'+***@fname+'fromtableName')--请注意加号前后的单引号的边上加空格当然将字符串改成变量的形式也可******@fnamevarchar(20)******@fname='FiledName'--设置字段名******@svarchar(1000)******@s='select'+***@fname+'fromtableName'Exec(***@s)--成功execsp_******@s--此句会报错--注:***@s参数必须为ntext或nchar或nvarchar类型,必须将******@svarchar(1000)改为******@sNvarchar