Witam.
Potrzebuje napisać trigger "pilnujący" czy faktura wystawiana jest we właściwy sposób.
Naklepałem coś takiego:
BEGIN
BEGIN TRY
DECLARE @PoleWlasne VARCHAR(MAX)
DECLARE @ZadanySposob int
DECLARE @WybranySposob int
DECLARE @KHID int
DECLARE @blad int
DECLARE @typDok int
SET @blad = 0
SET @typDok = (SELECT ISNULL(dok_typ, 0) FROM inserted)
IF (@typDok = 2 OR @typDok = 11 OR @typDok = 16)
BEGIN
SET @KHID = (SELECT ISNULL(dok_OdbiorcaId, 0) FROM inserted)
SET @PoleWlasne = (SELECT isnull(LOWER(kh_Pole8), '') FROM kh__kontrahent WHERE kh_Id = @khid)
IF (@PoleWlasne = 'netto')
BEGIN
SET @ZadanySposob = 1
END
ELSE
BEGIN
IF (@PoleWlasne = 'brutto')
SET @ZadanySposob = 0
ELSE
SET @ZadanySposob = -1
END
SET @WybranySposob = ( SELECT TOP 1 dok_CenyTyp FROM inserted )
IF (@ZadanySposob >= 0)
BEGIN
IF (@ZadanySposob <> @WybranySposob)
SET @blad = 1
ELSE
SET @blad = 0
END
IF ( @blad > 0 )
RAISERROR('<msg>Wybierz poprawny sposób przeliczania dokumentu!</msg>', 16, 1)
END
END TRY
BEGIN CATCH
END CATCH;
END
Jednak zamiast oczekiwanego komunikatu pojawia się dymek z treścią "Błąd składniowy w poleceniu" (bez linka do właściwej treści).
Co zrobiłem źle?
Ps. Wiem że cały kod można uprościć, ale został maksymalnie rozbity na potrzeby analizy błędu.
Pozdrawiam i dziękuję.