freddykMedlem sedan okt. 2006103 inlägg Tjena SQLare,
Behöver lite hjälp. Ska köra en INSERT i en tabell. Inga konstigheter där men jag vill även kunna se efter ifall en broschyr redan finns upplagd på lagerplatsen som jag gör en insert på. Om så är fallet ska en annan INSERT köras som skriver in att en lagerplats är delad.
Nedan kod finns i en SP i SQL 2005.
BEGIN
INSERT INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
END
Ovanstående behöver byggas på så att man förutom inserten även kollar ifall fk_lpID redan finns upplagd i tabellen dbo.lagerplatsBrochure och i så fall köra en INSERT i en annan tabell: dbo.lagerplats (dbo.lagerplats.delad = 1). Görs detta i en ny begin i samma SP eller en ny SP? Någon som har förslag?
Tacksam och Tack på förhand! :)
LarsGMedlem sedan dec. 200012 464 inlägg if not exists(select * from dbo.lagerplatsBrochure where fk_lpID = @lpid)
insert INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
else
-- din andra insert
freddykMedlem sedan okt. 2006103 inlägg
LarsG skrev:
if not exists(select * from dbo.lagerplatsBrochure where fk_lpID = @lpid)
insert INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
else
-- din andra insert
Smaskigt! Tack LarsG.
Kom fram till det med, ngt annorlunda skrivet bara:
BEGIN
IF EXISTS(SELECT dbo.lagerplatsBrochure.fk_lpID FROM dbo.lagerplatsBrochure WHERE dbo.lagerplatsBrochure.fk_lpID = @lpid)
BEGIN
INSERT INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
UPDATE dbo.lagerplats SET dbo.lagerplats.sammansatt = "1" WHERE dbo.lagerplats.LPExpID = @lpid
END
ELSE
BEGIN
INSERT INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
END
END
Tackar för det snabba svaret! :birp