2017-01-26 1 views
2

Je suis tombé sur une instruction SQL conçue pour une base de données DB2 (iSeries) qui est au format ci-dessous. Ce que je ne comprends pas, c'est la clause FROM. DATABASE.TABLE a du sens. Mais la partie commençant par le Colon : n'est pas familière. S'il vous plaît quelqu'un peut-il dire si cela semble être valide? Le seul endroit où je l'ai vu Colon utilisé dans SQL est pour les variables hôtesSyntaxe SQL non familière

SELECT DISTINCT FLD1, 
        FLD2, 
        FLD3, 
        FLD4 
    FROM 
        DATABASE.TABLE:TABLE1 TABLE1 
    WHERE 
        FLD5 = 'MFG' 
        AND FLD6= '1' 
+1

Je pense que les deux points ':' est le séparateur de catalogue dans DB2 iSeries (« catalogue » étant le nom du standard SQL, je pense iSeries appelle cela différemment) –

+1

Je ne trouve aucune référence à cette syntaxe dans le manuel, et je ne l'ai jamais vu dans DB2 pour moi. Je ne pense pas que ce soit valide. – jmarkmurphy

+0

Je suis d'accord avec @jmarkmurphy ... Je n'ai jamais vu une telle syntaxe sur DB2 pour i. – Charles

Répondre

1

Il ressemble à SQL programme compilé le champ est substitué au moment de l'exécution.

C+ UPDATE CORPDATA/EMPLOYEE 
C+ SET SALARY = SALARY * :PERCNT 
C+ WHERE COMM >= :COMMI 
C/END-EXEC