webForumDet fria alternativet

installera/lägga till ny data i flera tabeller med kopplingar.

Webbutveckling

4 svar · 434 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Vanligtvis när jag skall göra saker liknande det beskrivet i rubriken så brukar jag skapa ett administrationsgränssnitt.

Nu har jag inte skapat något administrationsgränssnit, men skulle behöva få in data i flera olika tabeller som har kopplingar med varandra.

Kan jag göra detta med ett SQL-Script? hur bör jag göra med autogenererade primärnycklar som är foreign keys i andra tabeller som de skall in i osv.

Har ni några bra tips hur jag kan gå tillväga?

Medlem sedan juni 200032 967 inlägg
#2

Ja, du kan använda sql.
Se till att göra insert i rätt ordning och hämta ut de automatgenererade id:na för att använda senare i koden.

Medlem sedan nov. 20014 054 inlägg
#3

Typ:

DECLARE @id INT
INSERT INTO firstTable(col1) SELECT 1
SELECT @id = SCOPE_IDENTITY()

INSERT INTO secondTable(col1, id) SELECT 1,@id
INSERT INTO secondTable(col1, id) SELECT 2,@id
INSERT INTO secondTable(col1, id) SELECT 3,@id

då alltså?

Medlem sedan juni 200032 967 inlägg
#4

Till exempel.
Fast jag förstår inte varför du har select i din insert - har du definierade värden bör du använda values.

Medlem sedan nov. 20014 054 inlägg
#5

@nders skrev:

Till exempel.
Fast jag förstår inte varför du har select i din insert - har du definierade värden bör du använda values.

ops.. det där vara bara en copy n paste :)

INSERT INTO QuestionGroups(QuestionGroupName, Created, Changed, ChangedBy)
	VALUES('IT-resurser och kompetens',GETDATE(),GETDATE(),@ChangedBy)
SELECT @groupid = SCOPE_IDENTITY()

INSERT INTO PollQuestionGroups(PollId, QuestionGroupId)
	VALUES(@id, @groupid)

Är mer likt verkligheten :)

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)