webForumDet fria alternativet

SP Kolla och insert..

2 svar · 290 visningar · startad av freddyk

freddykMedlem sedan okt. 2006103 inlägg
#1

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
#2
   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
#3

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

126 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)