得到了一个复杂的SELECT查询,从中我想将所有行插入到一个表变量,但T-SQL不允许它。
同样的,你不能在SELECT INTO或INSERT EXEC查询中使用表变量。 http://odetocode.com/Articles/365.aspx < / p >
短的例子:
declare @userData TABLE(
name varchar(30) NOT NULL,
oldlocation varchar(30) NOT NULL
)
SELECT name, location
INTO @userData
FROM myTable
INNER JOIN otherTable ON ...
WHERE age > 30
表变量中的数据稍后将被用于将其插入/更新回不同的表中(大部分是相同数据的副本,只有少量更新)。这样做的目的是让脚本比直接在正确的表中使用SELECT INTO
更易于阅读和自定义。
性能不是问题,因为rowcount
相当小,只有在需要时才手动运行
...或者只是告诉我我做错了。