|
Pro jistotu sem dávám celou proceduru:
USE [NKPO]
GO
/****** Object: StoredProcedure [dbo].[QRY_novy_plan] Script Date: 05/28/2009 07:11:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--VLOŽÍ PLÁN DO SCHEDULERU
ALTER PROCEDURE [dbo].[QRY_novy_plan]
@podsmlouva_id int,
@rizikova_skupina_id int,
@prirazka_id int,
@prijem money,
@smrt_jakakoliv bit,
@VIP_smrt_jakakoliv bit,
@castka_smrt_jakakoliv money,
@pojistne_smrt_jakakoliv money,
@smrt_uraz bit,
@VIP_smrt_uraz bit,
@castka_smrt_uraz money,
@pojistne_smrt_uraz money,
@trvale_nasledky bit,
@VIP_trvale_nasledky bit,
@castka_trvale_nasledky money,
@pojistne_trvale_nasledky money,
@invalidita_uraz bit,
@VIP_invalidita_uraz bit,
@castka_invalidita_uraz money,
@pojistne_invalidita_uraz money,
@invalidita_jakakoliv bit,
@VIP_invalidita_jakakoliv bit,
@castka_invalidita_jakakoliv money,
@pojistne_invalidita_jakakoliv money,
@aktivni bit,
@skupina_id int,
@datum_provedeni datetime,
@uzivatel varchar(50),
@aktivni_plan bit,
@ErrorID int output
--@ErrorID=0 => vše ok
--@ErrorID=1 => neexistující podsmlouva
--@ErrorID=2 => duplicitní plán
AS
--DECLARE @cas_zalozeni datetime
--SET @cas_zalozeni=getdate()
IF EXISTS (SELECT * FROM tb_01 WHERE ID=@podsmlouva_id)
BEGIN
IF EXISTS (SELECT * FROM tb_02 WHERE datum_provedeni=@datum_provedeni AND podsmlouva_id=@podsmlouva_id)
BEGIN
SET @ErrorID=2
END
ELSE
BEGIN
SET @ErrorID=0
INSERT INTO tb_02
(podsmlouva_id,rizikova_skupina_id,prirazka_id,prijem,smrt_jakakoliv,VIP_smrt_jakakoliv,castka_smrt_jakakoliv,
pojistne_smrt_jakakoliv,smrt_uraz,VIP_smrt_uraz,castka_smrt_uraz,pojistne_smrt_uraz,trvale_nasledky,
VIP_trvale_nasledky,castka_trvale_nasledky,pojistne_trvale_nasledky,invalidita_uraz,VIP_invalidita_uraz,
castka_invalidita_uraz,pojistne_invalidita_uraz,invalidita_jakakoliv,VIP_invalidita_jakakoliv,
castka_invalidita_jakakoliv,pojistne_invalidita_jakakoliv,aktivni,skupina_id,datum_provedeni,aktivni_plan)
VALUES(@podsmlouva_id,@rizikova_skupina_id,@prirazka_id,@prijem,@smrt_jakakoliv,@VIP_smrt_jakakoliv,
@castka_smrt_jakakoliv,@pojistne_smrt_jakakoliv,@smrt_uraz,@VIP_smrt_uraz,@castka_smrt_uraz,@pojistne_smrt_uraz,@trvale_nasledky,
@VIP_trvale_nasledky,@castka_trvale_nasledky,@pojistne_trvale_nasledky,@invalidita_uraz,@VIP_invalidita_uraz,
@castka_invalidita_uraz,@pojistne_invalidita_uraz,@invalidita_jakakoliv,@VIP_invalidita_jakakoliv,
@castka_invalidita_jakakoliv,@pojistne_invalidita_jakakoliv,@aktivni,@skupina_id,@datum_provedeni,@aktivni_plan)
--zjištění získaného ID
DECLARE @IDplanu int
SET @IDplanu=(SELECT id FROM tb_02 WHERE podsmlouva_id=@podsmlouva_id AND datum_provedeni=@datum_provedeni)
--zápis do transakčního logu
INSERT INTO tb_event_log(event_id,event,tableName,userName,ok)
VALUES(@IDplanu,'Plán podsmlouvy-vložení nového záznamu. ID plánu ' + convert(varchar(20),@IDplanu),'tb_podsmlouvy_scheduler',@uzivatel,1)
END
END
ELSE
BEGIN
SET @ErrorID=1
END
|