OveRRidEMedlem sedan feb. 200112 078 inlägg Jaha, då skall vi se. Deta var ett tag sedan man postade en fråga i ASP-forumet. ;)
Stored procedure i MS SQL-server 7 som returnerar
'last_insert_id' is not a recognized function name.
conn.open "Provider=sqloledb;Data Source=XXX.XX.XXX.XX;Initial Catalog=XXXX;User Id=XXXX;Password=XXXX"
set objRs = conn.Execute("SELECT last_insert_id() FROM produkter")
intLastItem = objRs(0)
Mycket konstigt, det har ju fungerat innan. LarsG, kan det ha med versionen på SQL-servern att göra? (version 7 på NT4)
LarsGMedlem sedan dec. 200012 464 inlägg Versioner?
Last_insert_id finns i mysql
@@identity i sql server
Fel forum kanske.
OveRRidEMedlem sedan feb. 200112 078 inlägg Då flyttar vi tråden då. :)
Funkar inte last_inserted_id i SQL-server? :q Det hade jag för mig..
OveRRidEMedlem sedan feb. 200112 078 inlägg Jag får inget värde alls..
nikoMedlem sedan juni 20022 599 inlägg
Override skrev:
Jag får inget värde alls..
@@identity ger id:et för den senaste inserten som utförts av din transaktion (tråd?).
Den är alltså inte global. Om du inte gjort några inserts på raderna ovan så får du NULL,
skulle jag tro.
Vad menar du förresten med stored procedure? Var anropas den?
OveRRidEMedlem sedan feb. 200112 078 inlägg Jo det vet jag, och insert:en görs av en Stored Procedure i SQL-servern genom en ASP-klass. På samma ASP-sida som anropar klassen försöker jag även få @@identity (på raden under givetvis) men jag får inget värde tillbaks..
Måste @@identity 'skapas' i proceduren då eller? Isåfall, hur gör jag en utparameter från min procedur som returnerar detta värde?
@ndersMedlem sedan juni 200032 969 inlägg Du behöver inte använda en utparameter. Om du börjar proceduren med SET NOCOUNT ON, så är det bara att avsluta den med den enkla selectfrågan.
SET NOCOUNT ON
..
INSERT INTO...
...
SELECT @@IDENTITY
Sedan skapar du bara ett recordset i ASP när du exekverar proceduren.
Mvh,