关于sql server中的动态sql语句的一点心得

     这两天的项目中写了一个存储过程,用表名做变量的,涉及到动态Sql的一些东西,把自己走过的弯路记录一下,希望和我有同样经历的朋友少走些弯路。
     首先如果用表名做变量,则必须使用动态sql,否则存储过程会报错。
     如果要执行完动态Sql后得到返回值,则存放动态Sql的变量必须定义为nvarchar或ntext类型。我开始就是定义的varchar类型,结果连续报错。
     要想从动态Sql中得到返回值,直接用下面的语句是不行的:
    

Code

 

必须使用下面的方式才可以:
Code
 还有一点需要注意:一是动态Sql中整形变量都要转成字符型,这里我把整形的都转成字符型了。还有时间戳型变量先转换成bigint再转换成字符串

 

 

posted @ 2009-03-10 01:17  John Liu  阅读(643)  评论(1编辑  收藏  举报