我使用以下代码:
select @SQLString=N'select ....(long select query).....'
+ char(10) + '; drop table _item_list '
之后
insert @tbl EXEC dbo.sp_executesql @SQLString
它似乎正在工作,但有人可以给我一些明确的信息吗?我希望 executesql 的东西必须"忠实",就像它前面的插入语句一样。然而,它似乎没有问题将选择馈送到插入,并独立地做拖放表。另外,是 ;在必要的下降之前?
您可以通过多种方式将数据填充到表中:
INSERT INTO TABLE VALUES
SELECT INTO FROM
INSERT INTO SELECT
INSERT INTO EXEC
<——你在说什么
而且;
不是很必要,只是要分开批次,结果会是一样的,但对于某些人来说可能需要考虑范围,比如批处理或会话,那就重要了。
更新:这在select
之后irrelevant statements
很好,即使您的 USP 中有多个select
,但您必须确保所有返回的结果(select
语句(都需要与您引用的表格定义兼容。