在insert语句后插入多个表

时间:2017-06-13 18:53:43

标签: sql sql-server

在SQL Server中插入存储过程时出现以下问题。 我想在if语句之后在多个表中插入一些东西

BEGIN
 insert into BIJDRAGE VALUES(@accountID, @datum, @soort);

 DECLARE @bijdrageid int;
 SET @bijdrageid = (SELECT MAX(id) FROM BIJDRAGE)

if (@soort ='bericht')

 insert into BERICHT values (@bijdrageid, @titel, @inhoud) 
 insert into BIJDRAGE_BERICHT values (@id, @bijdrageid);

/////////This above doesnt work\\\\\\\\\\\\\\\\

else if @soort= 'bestand' insert into  BESTAND values ((select max(id) from BIJDRAGE), @categorieID, @bestandsLocatie, @grootte)


else insert into CATEGORIE values((select max(id) from BIJDRAGE), @categorieID, @naam)
END

1 个答案:

答案 0 :(得分:4)

试试这个:

BEGIN
    DECLARE @bijdrageid int
    insert into BIJDRAGE VALUES(@accountID, @datum, @soort)

    SELECT @bijdrageid = MAX(id) 
    FROM BIJDRAGE

    IF(@soort ='bericht')
    BEGIN

     insert into BERICHT values (@bijdrageid, @titel, @inhoud) 

     insert into BIJDRAGE_BERICHT values (@id, @bijdrageid)

    END
    ELSE
    BEGIN
        IF @soort= 'bestand' 
        BEGIN
            insert into  BESTAND values (@bijdrageid, @categorieID, @bestandsLocatie, @grootte)
        END
        ELSE
        BEGIN
            insert into CATEGORIE values(@bijdrageid, @categorieID, @naam)
        END
    END
END