Hej. Fungerar inte det liknande som att arbeta mot SQl-server?Insert med returparameter
Var inne i "Tips & tricks" under databaser - Oracle och såg att det var rätt tomt.
Fick en liten idé att man skulle fylla på med lite tips, men fastnade direkt.
Kom att tänka på att det kanske inte var så bra att lämna ett tips och inte veta hur man implementerar den i VB.
Saker, som jag tycker, är lätt som en plätt i (PL/)SQL blev helt plötsligt väldigt svårt.
Så istället för ett tips, efter en del testande, får bli en fråga.
Det är en ny funktionalitet from Oracle 8i, där man vid update eller insert
kan få tillbaka en eller flera kolumner direkt i samma sats.
Ett normalt förfarande när man vill ha reda på värdet av en kolumn
man har uppdaterat kan tex vara följande sätt :
update emp set salary = salary * 1.25
where emp_id = 12345;
select salary from emp where emp_id = 12345;
Men hur ska man exekvera följande från VB ?
update emp set salary = salary * 1.25
where emp_id = 12345
returning salary into ?;
/UffeSv: Insert med returparameter
Dvs läs in ett bibliotek som klarar anropen ifrån VB
ditt stmt skulle se ut så här om man anropade en SQL-databas:
dim rs as adodb.Recordset
dim con as adodb.Connection
dim sql as string
sql = update emp set salary = salary * 1.25 where emp_id = 12345 returning salary into ?;
Set rs = con.execute(sql)
sen kan du göra vad du vill med ditt recordset, loopa igenom, etc. Finns
även andra kommandon än execute. Du borde kunna använda adodb-
klassen för att koppla upp mot Oracle också.
/Emma