我正在做一些测试,无法从旧临时表创建新的临时表。 这是我的代码。
第一张表
CREATE TABLE #Temp1 ( Col1 Money, Col2 Money );
这很好用。
第二张表
CREATE TABLE #Temp2
AS (Select Col1, Col2
From #Temp1)
此错误
'('。
附近的语法不正确
我正在关注this链接以了解,其中包含以下代码
CREATE TABLE new_table
AS (SELECT * FROM old_table);
这与我的几乎相同,除了我的是临时表。
我尝试使用
CREATE TABLE #Temp2
AS (Select Col1, Col2
From tempdb..#Temp1)
确保找到临时表的路径
但它给了我
忽略数据库名称'tempdb',引用tempdb中的对象。
当两个都是临时表时,有不同的方法吗?
答案 0 :(得分:2)
CREATE AS
语法对SQL Server无效。该网站没有说明哪个RDMBS可能更通用并且适用于其他网站。以下是CREATE TABLE的MSDN页面。
可以使用SELECT
语句的INTO子句动态创建表。
如果要复制表(架构和数据):
SELECT *
INTO #Temp2
FROM #Temp1
如果您只想创建一个类似的表(仅架构):
SELECT *
INTO #Temp2
FROM #Temp1
WHERE 1 = 0;