|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre confirmé
![]() |
bonjour,
je souhaitais effectuer un ALTER TABLE XXX dans un bloc PL/SQL pour droper puis recréer une contrainte et l'index qui lui est lié... Le probleme est que lorsque je l'execute il m'indique qu'il ne veut pas de ALTER TABLE à ce niveau... je peux realiser ce que je veux avec un EXECUTE IMMEDIATE mais j'aurais souhaité comprendre la raison logique de cet échec... Si quelqu'un peut me dire ce qui foire.... Mon code était celui là... Code :
Citation:
|
|||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Dans un bloc PL/SQL il faut utiliser le sql dynamique.
Pour plus d'infos : http://sheikyerbouti.developpez.com/execute_immediate/#L4 Fais une recherche sur le forum sur execute immediate tu trouveras pleins d'exemples.
__________________
Un problème sans solution est un problème mal posé Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP. |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() |
Merci pour le EXECUTE IMMEDIATE... même si je savais déjà que je pouvais le faire comme çà
Ce que je ne sais pas c'est pourquoi je ne peux pas le faire autrement... J'ai cru voir un début de réponse mentionnant une histoire de DDL mais j'avoue que je n'ai pas bien compris... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Tous les ordres DDL (create, alter, drop, ...) ne peuvent pas être exécutés dans un bloc PL
__________________
Un problème sans solution est un problème mal posé Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP. |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() |
Voilà comme çà c'est plus clair...
Tu peux pas alors tu peux pas... c'est simple... Merci beaucoup... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com