Jeg har fundet det smart at benytte en
"insert into t_produkter (... feltnavne ..)
output
inserted.id
values (?,?....)"
så jeg får det autogenererede id i samme kald som jeg bruger til at
indsætte recorden.
Det fungerer fint.
Nu har jeg sat en trigger på for at køre en funktion, når der indsættes
en record.
Nu får jeg denne fejl:
The target table 't_produkter' of the DML statement cannot have any
enabled triggers if the statement contains an OUTPUT clause without
INTO clause
Er der nogen logisk grund til at man ikke må det, andet end at nogen
har været doven/inkompetent hos Microsoft??
Så må jeg prøve dette workaround:
http://stackoverflow.com/questions/5558582/sql-server-output-clause-into-a-scalar-variable
declare @ID table (ID int)
insert into MyTable2(ID)
output inserted.ID into @ID
values (1)
select * from @ID
... lidt senere
Det ser ud til at virke.
Leif
--
Husk kørelys bagpå, hvis din bilfabrikant har taget den idiotiske
beslutning at undlade det.