【发布时间】:2015-10-03 13:17:56
【问题描述】:
实现这一目标的最佳方法是什么
INSERT INTO @TableName (@ColumnNames)
EXEC sp_executesql @SQLResult;
其中@TableName、@ColumnNames、@SQLResult 是varchar 变量
我试图避免为每个表单独插入。
【问题讨论】:
-
不要。使用案例陈述或调查为什么您的 api 是这样设计的。
-
@Hogan 我试图避免一个案例,因为我现在需要填充 23 个不同的表。 TableName 是我用来插入表的 SP 的参数
-
听起来设计很糟糕。老实说,如果可行的话,我会尝试重新设计任何流程。
-
只写23个存储过程。如果这很难,您可以使用更安全、运行更快且设计更好的动态 HTML 来制作程序。
-
@SantiagoSalaberry 考虑到缺点,您不想避免编写 23 个插入过程。另请在 DBA.StackExchange 上查看这个几乎相同的问题:dba.stackexchange.com/questions/105541/…
标签: sql-server tsql stored-procedures dynamic