插入 exec dbo.sp_executesql(多语句字符串)



我使用以下代码:

select @SQLString=N'select ....(long select query).....'
+ char(10)  + '; drop table _item_list '

之后

insert @tbl EXEC dbo.sp_executesql @SQLString

它似乎正在工作,但有人可以给我一些明确的信息吗?我希望 executesql 的东西必须"忠实",就像它前面的插入语句一样。然而,它似乎没有问题将选择馈送到插入,并独立地做拖放表。另外,是 ;在必要的下降之前?

您可以通过多种方式将数据填充到表中:

  1. INSERT INTO TABLE VALUES
  2. SELECT INTO FROM
  3. INSERT INTO SELECT
  4. INSERT INTO EXEC<——你在说什么

而且;不是很必要,只是要分开批次,结果会是一样的,但对于某些人来说可能需要考虑范围,比如批处理或会话,那就重要了。

更新:这在select之后irrelevant statements很好,即使您的 USP 中有多个select,但您必须确保所有返回的结果(select语句(都需要与您引用的表格定义兼容。

最新更新