webForumDet fria alternativet

insert i 2 tabeller

10 svar · 303 visningar · startad av maqe

maqeMedlem sedan dec. 2003824 inlägg
#1

jag har 2 tabeller, nodes och nodecontent
När jag skapar en ny nod så vill jag att det skall skapas en ny post i nodecontent med samma id som det unika id´t som nodes får när jag skapar den. Hur gör man detta?

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Man gör 2 st insertanrop. Hur du får tag på det unika idvärdet från den första tabellen beror på vilken dbms du använder.

@ndersMedlem sedan juni 200026 914 inlägg
#3

dbms?

Om den dbms man använder stöder det kan man ju alltid skapa en trigger som gör jobbet.

maqeMedlem sedan dec. 2003824 inlägg
#4

Jag använder mssql2000 och använder inga sp eller nått sånt ...

LarsGMedlem sedan dec. 200012 465 inlägg
#5
insert into nodes values ...

insert into nodecontent values (...,scope_identity(),...)
maqeMedlem sedan dec. 2003824 inlägg
#6

Hur skulle en sådan stored procedure kunna se ut?

@ndersMedlem sedan juni 200026 914 inlägg
#7
create procedure minprocedur as

insert into nodes values ...

insert into nodecontent values (...,scope_identity(),...)

go

jag förstår inte riktigt frågan.

maqeMedlem sedan dec. 2003824 inlägg
#8

ja man måste väl declarera nån variabel eller nått? Eller är det scope_identity() som fixar det?

maqeMedlem sedan dec. 2003824 inlägg
#9

Ok nu är jag med ... detta funkar utmärkt ...
Dock om jag får en parameter till min sp, hur skulle en sån se ut?

LarsGMedlem sedan dec. 200012 465 inlägg
#10

Ungefär

create procedure minprocedur 
(@p1 varchar(12), @p2 int, ...)
as

insert into nodes(c2,c3) values(@p1,getdate())

insert into nodecontent values (scope_identity(),@p2)

plus felhantering och transaktionshantering.

maqeMedlem sedan dec. 2003824 inlägg
#11

Känner mig nöjd med den här tråden nu ... tack för hjälpen. Nu skall jag bara göra lite sp´s för att radera noder med :)

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb