2010-01-19 3 views
0

Est-il possible de créer un déclencheur à l'aide de l'API OCI?Création d'un déclencheur Oracle OCI

J'ai besoin d'effectuer les actions suivantes programme:

CREATE OR REPLACE TRIGGER tbl_trigger BEFORE INSERT ON tbl FOR EACH ROW 
WHEN (new.id IS NULL OR new.id = 0) 
BEGIN 
SELECT tbl_sq.nextval INTO :new.id FROM dual; 
END; 
/
+2

La manière "pragmatique" de le faire serait d'utiliser SQL Plus pas OCI! Je suppose que vous vouliez dire "par programme"? ;-) Mais sérieusement, créer un déclencheur sur une table est quelque chose que vous avez à faire une seule fois, alors pourquoi auriez-vous besoin de le faire via une API OCI? –

+0

Moi aussi, je le ferais via SQL Plus. Vous pouvez l'enregistrer en tant que fichier .sql si vous avez vraiment besoin de l'exécuter plus d'une fois. Mais je ne suis pas familier avec OCI, donc je ne peux pas dire si OCI est vraiment le mauvais outil à utiliser ... –

Répondre

1

Je suis confus quant à la nature de cette question. Si vous demandez "Cela peut-il être fait?", Alors oui, en utilisant OCIStmtPrepare() et OCIStmtExecute().

Si vous avez du code qui tente de le faire et échoue, veuillez fournir une question plus spécifique.

Questions connexes