我有一个名单列表,我想放入一个临时/变量表,但不能想到如何做。
这是一个虚拟列表......
NAMES
McLovin
Deckard
Mufasa
DeLarge
这是一个我将被发送给我的字符串,我需要对实际表格进行清洗,所以我想把它放在临时字段中,但我想不出怎么做。
CREATE TABLE [#test] (
NAMES varchar (20));
INSERT INTO [#test] ([NAMES])
VALUES ('McLovin');
INSERT INTO [#test] ([NAMES])
VALUES ('Deckard');
以上是我能想到的唯一方法。我是SQL的新手,所以我仍在学习逻辑。任何指导都将非常感谢。
干杯。
答案 0 :(得分:2)
看到这个: Inserting multiple rows in a single SQL query?
INSERT INTO #test ([NAMES])
VALUES ('McLovin'), ('Deckard'), ('Mufasa'), ('DeLarge')
答案 1 :(得分:2)
我想补充一下Tedo的答案,你可能根本不需要临时表。您可以将这些直接包含在查询中:
select . . .
from (VALUES ('McLovin'), ('Deckard'), ('Mufasa'), ('DeLarge')) v(names)
或使用CTE:
with names(name) as (
select *
from (VALUES ('McLovin'), ('Deckard'), ('Mufasa'), ('DeLarge'))
)
select . . .
答案 2 :(得分:0)
这是最快的方式:
SELECT CONVERT(VARCHAR(20), 'McLovin') NAMES
INTO #temp
UNION
SELECT 'Deckard'
UNION
SELECT 'Mufasa'
UNION
SELECT 'DeLarge'
也不需要编写create语句。