有一个复杂的SELECT查询,我想从中将所有行插入表变量中,但是T-SQL不允许这样做。
同样,不能在SELECT INTO或INSERT EXEC查询中使用表变量。 http://odetocode.com/Articles/365.aspx
简短示例:
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
table变量中的数据以后将用于将其插入/更新回不同的表中(大多数情况下是对相同数据的复制,并进行了较小的更新)。这样做的目的是使脚本比SELECT INTO
直接放入正确的表中更易于理解和自定义。性能不是问题,因为rowcount
它很小,只有在需要时才手动运行。
...或者只是告诉我我做错了什么。