这是重新
我想通过利用 SELECT INTO 使用查询结果创建一个表。
语法
SELECT *
INTO Persons_Backup
FROM Persons
与我想要实现的目标非常接近,不同之处在于我希望 FROM 使用查询作为源。
我的情况比这些简单的例子要复杂一些。
我需要创建一个表并同时插入多行。如果我可以(我不能)使用以前创建的表,则语句将如下所示:
INSERT INTO Person_Backup12 (Col1, Col2, Col3)
Select 1, 'a','2001-01-01 12:00'
UNION ALL
Select 83, 'z','2011-09-30 13:27'
UNION ALL
Select 777, 'k','1997-04-25 09:27'
我可以在创建表的同时执行此操作吗?
您可以将查询放入公共表表达式或派生表中,然后SELECT ... INTO
从那。
;WITH cte (Col1, Col2, Col3) AS
(
Select 1, 'a','2001-01-01 12:00'
UNION ALL
Select 83, 'z','2011-09-30 13:27'
UNION ALL
Select 777, 'k','1997-04-25 09:27'
)
SELECT *
INTO NewTable
FROM cte
在这种情况下,您可能需要一些显式转换来获取所需的列数据类型(datetime
而不是char
etc.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)