bartholomew

如此星辰非昨夜,为谁风露立中宵~

使用动态SQL的一点小技巧


在存储过程使用动态SQL时,如果在动态SQL中需用到之前定义的变量,则不能直接使用,而必须这样:

SET @Sql = N'SELECT @a = MAX(LogTime) FROM LogTable'
EXEC sp_executesql @Sql,N'@a datetime output',@LogTime output

其中,@LogTime即为之前定义的变量,类型为datetime

如果在动态SQL中要用到之前定义的表变量,好像没有办法直接实现,而只能用一个折中的方法,将该表变量定义成一个临时表,用完后drop掉,这样可能会影响效率,但没办法了~

posted on 2007-08-31 08:13  bartholomew  阅读(401)  评论(0编辑  收藏  举报

导航