2017-09-20 39 views
-1

我想创建一个简单的存储过程像一个表:语法错误SQL临时表

IF OBJECT_ID('tempdb..##TGJAE') IS NOT NULL 
    DROP TABLE ##TGJAE 
GO 

SELECT * 
INTO ##TGJAE 
FROM 
    (SELECT 
     VOUCHER, DATAAREAID, 
     TAXITEMGROUP, TAXBASEAMOUNT, 
     VOUCHER, SOURCERECID 
    FROM 
     TAXTRANS 

GO 

,但由于某种原因,我总是在SQL控制台得到错误:

附近有语法错误'TAXTRANS'

有人可以解释它为什么会发生?我检查了很多次,但我没有看到任何错误。

+1

你需要使用插入选择 - 插入## TGJAE 选择 VOUCHER, DATAAREAID, TAXITEMGROUP, TAXBASEAMOUNT, VOUCHER, SOURCERECID FROM TAXTRANS)为T1 –

+2

你缺少一个**右括号**为你的子查询。 .... –

回答

2

这是更简单的方法。另外,不确定是否有意使用全局临时表。

IF OBJECT_ID('tempdb..##TGJAE') IS NOT NULL DROP TABLE ##TGJAE 
GO 


SELECT 
    VOUCHER, 
    DATAAREAID, 
    TAXITEMGROUP, 
    TAXBASEAMOUNT, 
    VOUCHER, 
    SOURCERECID 
INTO ##TGJAE 
FROM TAXTRANS 

GO 

在您的派生表示例中,您遗漏了一个右括号。