OveRRidEMedlem sedan feb. 20018 509 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 465 inlägg
Versioner?
Last_insert_id finns i mysql
@@identity i sql server
Fel forum kanske.
OveRRidEMedlem sedan feb. 20018 509 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. 20018 509 inlägg
Jag får inget värde alls..
nikoMedlem sedan juni 20022 415 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. 20018 509 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 200026 914 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,
OveRRidEMedlem sedan feb. 20018 509 inlägg
Tackar! :)
Fjunkar ju kanonbra.