把查询放在exec中

时间:2013-05-30 03:22:38

标签: sql exec dynamic-sql

SET @count = 0
SET @select = ''
WHILE @count < @c_count
BEGIN
    SET @count = @count+1.
    SET @select = @select+'cinema'+cast(@count AS VARCHAR)+'+'
END
SET @select = SUBSTRING(@select, 1, LEN(@select) - 1)
select @qty = qty from #qty
SET @buffer = 'UPDATE #table SET total_sales = '+@select
PRINT @buffer
EXEC(@buffer)

update #table set total_quantity = tq.qty from #table t inner join #qty tq on t.pkey =tq.id

这是我更新#table的代码,我在将最后一次更新放入@buffer时遇到问题, 帮帮我吧。

1 个答案:

答案 0 :(得分:1)

每当我看到有人这样做时,我的第一个问题就是为什么?

如果您正在构建一个SQL字符串,然后尝试执行它,那么您可能做错了,而且很可能,您不知道自己在做什么,以防止SQL注入攻击。< / p>