Sinon, il est possible que Oracle n'accepte pas de DDL dans le code d'un trigger.
A +
Soon a écrit:
Bonjour à tous,
Je comprend pas pourquoi ce trigger ne marche pas !
Mes triggers marchents si je fais des select ou insert ... mais pour les create :-(
Exemple simplifié :
CREATE TRIGGER creer_compte AFTER INSERT ON client FOR EACH ROW BEGIN CREATE USER toto IDENTIFIED BY client; END
-> erreur !
Quelqu'un sait pourquoi ?
Merci d'avance.
-- Soon
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Lionel TETTAMANTI
Soon a écrit :
Bonjour à tous,
Je comprend pas pourquoi ce trigger ne marche pas !
Mes triggers marchents si je fais des select ou insert ... mais pour les create :-(
Exemple simplifié :
CREATE TRIGGER creer_compte AFTER INSERT ON client FOR EACH ROW BEGIN CREATE USER toto IDENTIFIED BY client; END
-> erreur !
Quelqu'un sait pourquoi ?
Merci d'avance.
-- Soon
Bonsoir,
De mémoire, je ne pense pas que le PL/SQL support directement du code DDL. Avec la 9i, il existe peut être une possibilité avec "execute immediate" qui pourait sans doute fonctionner (sous reserve que les droits soient suffisant).
Sinon il faudrait passer pas une procedure PL/SQL utilisant le package DBMS_SQL.
CDLT
Soon a écrit :
Bonjour à tous,
Je comprend pas pourquoi ce trigger ne marche pas !
Mes triggers marchents si je fais des select ou insert ... mais pour les
create :-(
Exemple simplifié :
CREATE TRIGGER creer_compte
AFTER INSERT ON client
FOR EACH ROW
BEGIN
CREATE USER toto IDENTIFIED BY client;
END
-> erreur !
Quelqu'un sait pourquoi ?
Merci d'avance.
-- Soon
Bonsoir,
De mémoire, je ne pense pas que le PL/SQL support directement du code DDL.
Avec la 9i, il existe peut être une possibilité avec "execute immediate"
qui pourait sans doute fonctionner (sous reserve que les droits soient
suffisant).
Sinon il faudrait passer pas une procedure PL/SQL utilisant le package
DBMS_SQL.
Je comprend pas pourquoi ce trigger ne marche pas !
Mes triggers marchents si je fais des select ou insert ... mais pour les create :-(
Exemple simplifié :
CREATE TRIGGER creer_compte AFTER INSERT ON client FOR EACH ROW BEGIN CREATE USER toto IDENTIFIED BY client; END
-> erreur !
Quelqu'un sait pourquoi ?
Merci d'avance.
-- Soon
Bonsoir,
De mémoire, je ne pense pas que le PL/SQL support directement du code DDL. Avec la 9i, il existe peut être une possibilité avec "execute immediate" qui pourait sans doute fonctionner (sous reserve que les droits soient suffisant).
Sinon il faudrait passer pas une procedure PL/SQL utilisant le package DBMS_SQL.
CDLT
Igor Racic
Bonjour,
Techiquement, Lionel t'a donné la réponse. Pratiquement, c'est pas un bon approche. Tu doit envisager à re-organiser ton code...
Igor
Soon wrote:
Bonjour à tous,
Je comprend pas pourquoi ce trigger ne marche pas !
Mes triggers marchents si je fais des select ou insert ... mais pour les create :-(
Exemple simplifié :
CREATE TRIGGER creer_compte AFTER INSERT ON client FOR EACH ROW BEGIN CREATE USER toto IDENTIFIED BY client; END
-> erreur !
Quelqu'un sait pourquoi ?
Merci d'avance.
-- Soon
Bonjour,
Techiquement, Lionel t'a donné la réponse.
Pratiquement, c'est pas un bon approche. Tu doit envisager à
re-organiser ton code...
Igor
Soon wrote:
Bonjour à tous,
Je comprend pas pourquoi ce trigger ne marche pas !
Mes triggers marchents si je fais des select ou insert ... mais pour les
create :-(
Exemple simplifié :
CREATE TRIGGER creer_compte
AFTER INSERT ON client
FOR EACH ROW
BEGIN
CREATE USER toto IDENTIFIED BY client;
END