Bonjour,
Peut-on faire des DDL (ex : CREATE TABLE AS SELECT ... ) dans une procédure stockée ?
Merci.
Bonjour,
Peut-on faire des DDL (ex : CREATE TABLE AS SELECT ... ) dans une procédure stockée ?
Merci.
Oui, avec la commande execute immediate tu peux faire :
Il existe peux être d'autre moyen de le faire, mais en voilà déjà un !
Code : Sélectionner tout - Visualiser dans une fenêtre à part execute immediate 'create matable...';
It isn't that they can't see the solution, it's that they can't see the problem.
Mes Articles et Traductions (Microstrategy, Css et Javascript)
Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.
Oui mais, si je luis fais ceci :
Ca ne lui plait pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 EXECUTE IMMEDIATE (' CREATE TABLE tab1 AS SELECT * FROM tab2 WHERE col1 = 'A' AND col2 = 'B' ');
ERREUR Ó la ligne 61 :
ORA-01756: une cha¯ne entre apostrophes ne se termine pas correctement
comme ça c'est pas mieux ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part EXECUTE IMMEDIATE 'CREATE TABLE tab1 AS SELECT * FROM tab2 WHERE col1 = ''A'' AND col2 = ''B''';
It isn't that they can't see the solution, it's that they can't see the problem.
Mes Articles et Traductions (Microstrategy, Css et Javascript)
Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.
Ma première tentative :
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
58
59
60
61
62
63
64
65 EXECUTE IMMEDIATE(' CREATE TABLE tbl_marche_ase AS SELECT COLECT, UAGTHEM, ANBU1, NUBU1, NNM1, PERIODE1, PART1, SUBSTR(NNM1,3,2) AS PLAGE_NUM, FOUR, UAU, MTMINI AS MT_MINIMUM, MTMAXI AS MT_MAXIMUM, MTINIT AS MT_INITIAL, MTAVE AS MT_AVENANT, MTVARI AS MT_VARIATION, TOT AS MT_TOTAL, MTPART AS MT_NONREPARTI, CREAL AS MT_LIQ_ANT, MT AS MT_EXERCICE_EN_COURS, CLIQ AS MT_LIQ_EN_COURS, CMAN AS MT_MAN_EN_COURS, DLIQ AS MT_DISPO_LIQ, RESENG AS MT_RESTE_A_LIQ_SUR_EJ, DLRE AS MT_DISPO_EJ, DATMAN, NMAND, MANDARC, OBJET, LIEU, OBS, TYPMAR, TYPERIOD, VALIDITE, NATMAR, SECTBU, CAO, DATNOTI, DATDEB, DATEJLIM, DATSOLDE, DATEJ, NUMENG, LIGNE, MILLESI, DATECAO, DATFINMA, INTERFACE, ARTICLE, NNMIXTE, TYPACHAT, TXIM, DLGP, PROCDART, NDB, T2 FROM SAGA_MARCHE_AGR WHERE COLECT = 'D' AND ANBU1 = '07' AND VALIDITE = 'V' AND (UAGTHEM <> '34000' OR NUBU1 <> '01') )';Après MAJ :ERREUR Ó la ligne 63 :
ORA-00933: La commande SQL ne se termine pas correctement
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
58
59
60
61
62
63
64
65 EXECUTE IMMEDIATE(' CREATE TABLE tbl_marche_ase AS SELECT COLECT, UAGTHEM, ANBU1, NUBU1, NNM1, PERIODE1, PART1, SUBSTR(NNM1,3,2) AS PLAGE_NUM, FOUR, UAU, MTMINI AS MT_MINIMUM, MTMAXI AS MT_MAXIMUM, MTINIT AS MT_INITIAL, MTAVE AS MT_AVENANT, MTVARI AS MT_VARIATION, TOT AS MT_TOTAL, MTPART AS MT_NONREPARTI, CREAL AS MT_LIQ_ANT, MT AS MT_EXERCICE_EN_COURS, CLIQ AS MT_LIQ_EN_COURS, CMAN AS MT_MAN_EN_COURS, DLIQ AS MT_DISPO_LIQ, RESENG AS MT_RESTE_A_LIQ_SUR_EJ, DLRE AS MT_DISPO_EJ, DATMAN, NMAND, MANDARC, OBJET, LIEU, OBS, TYPMAR, TYPERIOD, VALIDITE, NATMAR, SECTBU, CAO, DATNOTI, DATDEB, DATEJLIM, DATSOLDE, DATEJ, NUMENG, LIGNE, MILLESI, DATECAO, DATFINMA, INTERFACE, ARTICLE, NNMIXTE, TYPACHAT, TXIM, DLGP, PROCDART, NDB, T2 FROM SAGA_MARCHE_AGR WHERE COLECT = ''D'' AND ANBU1 = ''07'' AND VALIDITE = ''V'' AND (UAGTHEM <> ''34000'' OR NUBU1 <> ''01'') )';ERREUR Ó la ligne 59 :
ORA-00933: La commande SQL ne se termine pas correctement
Pourquoi mets tu () après execute immediate ?
C'est peux être de là que viens le problème
[edit]en plus tu ouvre la parenthèse en dehors des ' ' et tu la ferme dedans[/edit]
It isn't that they can't see the solution, it's that they can't see the problem.
Mes Articles et Traductions (Microstrategy, Css et Javascript)
Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.
Merci !!!
Partager