2017-09-20 2 views
-1

Je veux créer une procédure stockée simple pour une table comme:Erreur de syntaxe table temporaire 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 

mais pour une raison quelconque, je reçois toujours l'erreur dans la console SQL:

syntaxe incorrecte près 'TAXTRANS'

Quelqu'un peut-il expliquer pourquoi cela se produit? Je vérifie souvent, mais je ne vois rien de mal.

+1

vous devez utiliser Insert Select - Insérer dans ## TGJAE SELECT Voucher, DATAAREAID, TAXITEMGROUP, TAXBASEAMOUNT, Voucher, SOURCERECID DE TAXTRANS) T1 –

+2

Vous manque une parenthèse fermante ** ** pour votre sous-requête. .... –

Répondre

2

Voici le moyen le plus simple. Aussi, ne savez pas si vous avez intentionnellement voulu utiliser une table temporaire globale ou non.

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


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

GO 

Dans votre exemple de table dérivée, vous avez été portés disparus une parenthèse de fermeture.