Créer une Procédure Stockée Oracle 11g, pl/sql à l'aide de SI et

J'ai eu un problème de la création de cette procédure stockée et a eu quelques erreurs lors de l'exécution. Les erreurs se composait d'instruction SQL ignoré et commande SQL n'est pas correctement terminé. Je pensais que tout le code est assez propre.

  • Retourne le nombre total d'enregistrements et l'insère dans le RECORD_COUNT variable de table TABLE1.

  • Condition pour voir si RECORD_COUNT est supérieure à zéro et les décharges de données pour effacer la table TABLE1.

  • Condition pour voir si RECORD_COUNT est égal à zéro afin de les insérer dans la table TABLE1 de la EXTERNAL_TABLE table.

S'il vous plaît aider.

    CREATE OR REPLACE PROCEDURE sp_INSERT
    (RECORD_COUNT OUT NUMBER)
    IS
    BEGIN   

         SELECT COUNT(*) 
             INTO RECORD_COUNT
             FROM TABLE1;   

         IF RECORD_COUNT > 0 THEN 
             EXECUTE IMMEDIATE 'TRUNCATE TABLE TABLE1'
         END IF;     

        IF RECORD_COUNT = 0 THEN 
        INSERT INTO TABLE1
            (
                JOB_ID,                         
                NUM_SP1,              
                NUM_SP2,              
                NUM_SP3,              
                NUM_SP4,                         
            )
            (SELECT JOB_ID,               
                NUM_SP1,              
                NUM_SP2,              
                NUM_SP3,              
                NUM_SP4,              
            FROM EXTERNAL_TABLE)
        COMMIT;
        END IF;
    END;
  • Bonjour, les messages d'erreur aident - ils vous donner les numéros de ligne. Vous êtes en manque d'un certain nombre de points-virgules et de TRONQUER est DDL et ne peut donc pas être préformé, PL/SQL à l'extérieur du SQL dynamique.
InformationsquelleAutor Fabe Dole | 2013-10-01