Avatar billede master_fatman Nybegynder
21. januar 2004 - 11:00 Der er 3 kommentarer

Skrive i 2 tabeller?

Hejsa....

Jeg kan ikke lige helt regne ud, hvordan jeg skriver dette til 2 tabeller.

tabel 1 indeholder, primær nøgle som er identitet (ID), og tekst felter.
tabel 2 har en reference mellem ID felterne.

Når jeg så skriver i tabel 1, skal der i tabel 2 skrives det ID felt der lige er blevet oprettet i tabel 1's nye post.

Hvordan lader det sig gøre?

Mvh

MF
Avatar billede mufoxe Nybegynder
21. januar 2004 - 11:03 #1
Du kan gøre det på tre måder. Enten ved hjælp af en stored procedure, en trigger eller en simpel query. Jeg foretrækker selv stored procedure, fordi de er hurtige og nemmere at overskue end triggers.

Jeg ville gøre noget i retning af:

INSERT INTO table1 (tekst) VALUES ('noget tekst')

INSERT INTO table2 (OprettetKey) VALUES(SCOPE_IDENTITY())
Avatar billede master_fatman Nybegynder
21. januar 2004 - 12:44 #2
Det virker næsten....

Problemet er bare at den indsætter, selve ID'et i en ny række i tabel 1.

Den skal jo stå sammen med den anden post.

Hvordan fixer jeg det?
Avatar billede master_fatman Nybegynder
21. januar 2004 - 12:57 #3
Jeg løste problemet således:

CREATE PROCEDURE dbo.spForums_Employees_SaveFileInfo
(
    @FileName varchar(100),
    @FilePath varchar(100),
    @FileSize varchar(50),
    @Active bit
)
AS
SET NOCOUNT ON
INSERT INTO tblForums_Employees_Uploads
(
    [FileName],
    FilePath,
    FileSize,
    Active
)
VALUES
(
    @FileName,   
    @FilePath,
    @FileSize,   
    @Active
)

UPDATE tblForums_Employees_Posts
SET FileID = SCOPE_IDENTITY()
WHERE PostID = (SELECT MAX(PostID) FROM tblForums_Employees_Posts)
GO

Giver dig point fordi du inspirede mig mufoxe!

;-)

/MF
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester