returning clause at Insert with the DOADataset

PDV

Member
Hallo,
I tried to make an insert into a view
which is linked to 2 Tables.
To do this i have made an instead of Insert Trigger:
begin

Insert into MT2 (ID,Ort) Values(:NEW.OrtId,:NEW.Ortname);
Insert into MT1 (ID,Name,OrtId) Values(:NEW.ID,:NEW.Name,:NEW.OrtId);

end;
On my Borland C Builder surface i have an Oraclesession bind to an OracleDataset with the sql-ommand:Select a.* from Ansicht2 a

If i now try to do the Insert, the Oracle-Dataset self acting made this command:
insert into ANSICHT2
(ID, NAME, ORTID, ORTNAME)
values
(:ID, :NAME, :ORTID, :ORTNAME)
returning rowid into :doa__rowid

After that i tried to catch the Value doa__rowid at variables in the Dataset
properties.
As result i get the error message :
not supported function with returning clause

DOADataSet creates a sql insert statement
with a returning clause for a view, but
a returning clause is not supportet for
views.

I`m thankful for every suggestion !

[This message has been edited by PDV (edited 28 March 2002).]

[This message has been edited by PDV (edited 28 March 2002).]
 
For views with "instead of" triggers you will have to set the UniqueFields property, so that the rowid can be determined without using the "returning" clause.

------------------
Marco Kalter
Allround Automations
 
Back
Top