在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
答案 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