IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Procédure stockée transfert de données


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 20
    Points : 0
    Points
    0
    Par défaut Procédure stockée transfert de données
    voila ma procédure stockée qui contient deux paramètres (bd source , bd archive)
    je veux faire un transfert de données de la bd source vers la bd archive à travers un lien entres les 2 BD

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    create or replace
    PROCEDURE archivage ( sou IN VARCHAR2, destination IN VARCHAR2) 
    IS 
    source_cursor INTEGER; 
    destination_cursor INTEGER ; 
    ignorer INTEGER;
    i integer;
    BEGIN 
     
    /* - Préparer un curseur pour sélectionner à partir de la bd_source: */
    source_cursor := dbms_sql.open_cursor; 
    DBMS_SQL.PARSE (source_cursor, 
    'SELECT table_name FROM dba_tables' || sou,DBMS_SQL.NATIVE);
     
    /* soit j'utilise cette req 
    SELECT object_name FROM dba_objects WHERE owner = 'SCOTT' AND object_type = 'TABLE'*/
     
     
    DBMS_SQL.DEFINE_COLUMN (source_cursor); --PLS-00306: wrong number or types of arguments in call to DEFINE_COLUMN
    ignorer := DBMS_SQL.EXECUTE = (source_cursor); 
     
    /* - Préparer un curseur à insérer dans la bd de destination: */
     
    destination_cursor := DBMS_SQL.OPEN_CURSOR; 
    DBMS_SQL.PARSE (destination_cursor, 
    'INSERT INTO' || destination@link,DBMS_SQL.NATIVE); 
     
    /* - Récupère une ligne de la table source et l'insérer dans la table de destination: */
    loop
    if DBMS_SQL.FETCH_ROWS (source_cursor)> 0 then 
    -- Obtenir des valeurs de colonne de la ligne
     
    DBMS_SQL.COLUMN_VALUE (source_cursor); 
    DBMS_SQL.BIND_VARIABLE (destination_cursor); 
     
    ignorer := DBMS_SQL.EXECUTE = (destination_cursor); 
    ELSE 
     
    EXIT; 
    End If; 
    END LOOP; 
    /*Close Cursor */
    /*-fermer les curseurs: */
    COMMIT; 
    DBMS_SQL.CLOSE_CURSOR (source_cursor); 
    DBMS_SQL.CLOSE_CURSOR (destination_cursor); 
    EXCEPTION 
    WHEN OTHERS THEN
    if
    DBMS_SQL.IS_OPEN (source_cursor)then
    DBMS_SQL.CLOSE_CURSOR (source_cursor); 
    End If; 
    if DBMS_SQL.IS_OPEN (destination_cursor) then 
    DBMS_SQL.CLOSE_CURSOR (destination_cursor); 
    End If; 
    RAISE; 
    END;
    j'ai les erreurs suivants :

    PLS-00306: Numero ou type d'arguments erronés dans l'appel a DEFINE_COLUMN


    PLS-00306: Numero ou type d'arguments erronés dans l'appel a COLUMN_VALUE
    PLS-00306: Numero ou type d'arguments erronés dans l'appel a EXECUTE
    merci

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    DBMS_SQL Il y a pas mal d'exemples.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 15
    Points
    15
    Par défaut
    Je suis encore surpris de voir l'utilisation du package DBMS_SQL. Je ne l'ai plus utilisé depuis qu'il existe le système execute immediate.
    Ta base de donnée doit être une vieille version pour que tu utilises encore ce package.

Discussions similaires

  1. Procèdure Stockée Transfert de Base
    Par kadden dans le forum Réplications
    Réponses: 6
    Dernier message: 22/07/2014, 10h01
  2. Procédure stockée & Affichage des données
    Par Lynchée dans le forum ASP.NET
    Réponses: 3
    Dernier message: 17/06/2013, 15h40
  3. procédure stockée retour de données
    Par majong dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 30/08/2011, 23h16
  4. Procédure stockée: Structure de données (Struct ou Record)
    Par mamid1706 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/09/2010, 10h17
  5. [VxiR2] Procédure stockée qui me donne une erreur
    Par jomphh dans le forum Deski
    Réponses: 1
    Dernier message: 16/01/2010, 01h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo