【发布时间】:2017-12-12 04:28:01
【问题描述】:
我想将动态 SQL 的结果输出到一个名为 @Count 的变量中,但不确定要使用什么语法甚至代码来完成此操作。
代码如下:
declare @tab nvarchar(255) = 'Person.person'
declare @Count int
declare @SQL nvarchar(max) = 'select count(*) from '+ @tab
exec(@SQl)
select @Count
谢谢
【问题讨论】:
-
为什么要为此使用动态sql...
-
除非您绝对无法避免,否则我会避免使用动态 SQL。你最终没有自动完成,而且总的来说它更容易出错。
-
另外,还有 SQL 注入问题。这是一个不容忽视的大问题。
-
可能,是的。取决于您通过什么以及它的来源,但在这方面很难保证来源是干净的。
-
@user2366842 我的回答确实保证源是干净的。
标签: sql sql-server tsql