RecupId via erreur transformation sqlserveur/Oracle
Bonjour,
j'ai un programme qui fonctionne sur SQLServeur et j'aimerai le transformer de façon à le faire fonctionner sous Oracle 8i.
L'idée est que dans SQLServeur, j'utilise un trigger pour récupérer l'id en lançant une erreur via un print
Code:
1 2 3 4 5
| CREATE TRIGGER [MESSAGE_IDENTITE_ARTICLE] ON dbo.ARTICLE FOR INSERT AS
DECLARE @@IDENTITE INT
SELECT @@IDENTITE = INSERTED.[N_IDARTICLE] FROM INSERTED
PRINT 'N_IDARTICLE='+REPLACE(STR(@@IDENTITE,10,0),SPACE(1),'')+';' |
Dans mon code (Delphi via ADO), je récupère l'erreur
Code:
1 2
| if ADOConnection.Errors.Count = 1 then ...
Result := ADOConnection.Errors[0].Description; |
J'aimerai pourvoir faire la même chose en Oracle pour envoyer l'id dans le trigger de l'insertion afin de ne pas avoir à modifier l'ensemble de mes requetes d'insertion
Code:
1 2 3 4 5 6 7 8 9 10 11
|
CREATE TRIGGER OWNER.ARTICLETRIGGER1 before INSERT
ON OWNER.ARTICLE
FOR EACH ROW
DECLARE
NextVal Number;
BEGIN
Select SEQ_ARTICLE.NextVal into NextVal from dual;
:new.N_IDArticle := NextVal;
-- renvoi de NextVal
END; |