Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2385 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PLSQL] problème dans un script dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PLSQL] problème dans un script dynamique

n°497351
jokos
rusher, viser, Headshoter
Posté le 25-08-2003 à 18:34:30  profilanswer
 

Bonjour,
 
J'ai fait un petit script dynamique en Pl, et je ne comprend pas pourquoi j'ai une erreur :(
 
voici le script :
 
CREATE OR REPLACE PROCEDURE Ajout_Table
        (v_NomTable IN VARCHAR2) AS
 
CURSOR c_Loader IS
        SELECT * FROM LOADER;
 
v_Loader loader%ROWTYPE;
v_SQLString VARCHAR2(1100);
BEGIN
        IF c_Loader%ISOPEN
        THEN
                CLOSE c_LOADER;
        END IF;
        DBMS_OUTPUT.put_line(v_NomTable);
        OPEN c_Loader;
                LOOP
                        FETCH c_Loader INTO v_Loader;
                        EXIT WHEN c_Loader%NOTFOUND;
                        v_SQLString :=
                                'CREATE TABLE ' || v_NomTable
 
                         .............. (ce qu'il y a dans mon create)
 
                                 v_NomTable || '_LOADER_5 NUMBER(8));';
        DBMS_OUTPUT.put_line(v_SQLString);
 
                        EXECUTE immediate v_SQLString;
                        COMMIT;
                END LOOP;
        CLOSE c_Loader;
END;
/
 
Lorsque je lance la procédure :
 
exec Ajout_Table('lol')
 
 
voici ce que j'obtient :
 
SQL> @Ajout_Table
 
Procedure created.
 
lol
CREATE TABLE lol ( lol_NUM_ID NUMBER, lol_NOM VARCHAR2(20), lol_DATE DATE,
lol_LOADER_1 NUMBER(6,2), lol_LOADER_2 NUMBER(6,2), lol_LOADER_3 NUMBER(6,2),
lol_LOADER_4 NUMBER(6,2), lol_LOADER_5 NUMBER(8));
BEGIN Ajout_Table('lol'); END;
 
*
ERROR at line 1:
ORA-00911: invalid character
ORA-06512: at "JOKOS.AJOUT_TABLE", line 30
ORA-06512: at line 1
 
 
Il y a donc un problème au niveau de mon EXECUTE IMMEDIATE .
 
Si quelqu'un voit le problème, merci de me répondre.
 
ciao
 
jokos

mood
Publicité
Posté le 25-08-2003 à 18:34:30  profilanswer
 

n°497408
tomlameche
Et pourquoi pas ?
Posté le 25-08-2003 à 19:18:03  profilanswer
 

jokos a écrit :

Bonjour,
 
J'ai fait un petit script dynamique en Pl, et je ne comprend pas pourquoi j'ai une erreur :(
 
voici le script :
 
CREATE OR REPLACE PROCEDURE Ajout_Table
        (v_NomTable IN VARCHAR2) AS
 
CURSOR c_Loader IS
        SELECT * FROM LOADER;
 
v_Loader loader%ROWTYPE;
v_SQLString VARCHAR2(1100);
BEGIN
        IF c_Loader%ISOPEN
        THEN
                CLOSE c_LOADER;
        END IF;
        DBMS_OUTPUT.put_line(v_NomTable);
        OPEN c_Loader;
                LOOP
                        FETCH c_Loader INTO v_Loader;
                        EXIT WHEN c_Loader%NOTFOUND;
                        v_SQLString :=
                                'CREATE TABLE ' || v_NomTable
 
                         .............. (ce qu'il y a dans mon create)
 
                                 v_NomTable || '_LOADER_5 NUMBER(8));';
        DBMS_OUTPUT.put_line(v_SQLString);
 
                        EXECUTE immediate v_SQLString;
                        COMMIT;
                END LOOP;
        CLOSE c_Loader;
END;
/
 
Lorsque je lance la procédure :
 
exec Ajout_Table('lol')
 
 
voici ce que j'obtient :
 
SQL> @Ajout_Table
 
Procedure created.
 
lol
CREATE TABLE lol ( lol_NUM_ID NUMBER, lol_NOM VARCHAR2(20), lol_DATE DATE,
lol_LOADER_1 NUMBER(6,2), lol_LOADER_2 NUMBER(6,2), lol_LOADER_3 NUMBER(6,2),
lol_LOADER_4 NUMBER(6,2), lol_LOADER_5 NUMBER(8));
BEGIN Ajout_Table('lol'); END;
 
*
ERROR at line 1:
ORA-00911: invalid character
ORA-06512: at "JOKOS.AJOUT_TABLE", line 30
ORA-06512: at line 1
 
 
Il y a donc un problème au niveau de mon EXECUTE IMMEDIATE .
 
Si quelqu'un voit le problème, merci de me répondre.
 
ciao
 
jokos


Enleve le ";" après

Citation :


                                 v_NomTable || '_LOADER_5 NUMBER(8))


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°497849
jokos
rusher, viser, Headshoter
Posté le 25-08-2003 à 23:04:06  profilanswer
 

merciiiiii !!!!!!!!!!
 
jokos


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PLSQL] problème dans un script dynamique

 

Sujets relatifs
Probleme d'importation de classe[PHP/MySQL] Probleme de guillemets : A L'AIDE !!
Script pour un debutant ... Renommage d'un dossier[Script Visual Basic] Recherches de strings basiques
[CSS] probleme de couleurs resoluPetit problème avec une CSS...
[ MySql ] Problème "Table inexistante" ou "Champs pas dans field list"Problème avec boucle [résolu]
[HTML/JS] Besoin d'aide xhtml/css : probleme avec IEprobleme avec un dataRow
Plus de sujets relatifs à : [PLSQL] problème dans un script dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR