1
我正在通過sql server 2008r2中的查詢創建存儲過程。在存儲過程中,我使用多個條件插入具有多個查詢的數據。在存儲過程中關鍵字'if'附近的語法不正確
這裏是我的查詢
alter procedure sp_customervechicleinsert
@customervechiclerefno int,
@customervechicleregdate datetime,
@customervechiclebillno varchar(10),
@customervechiclecustomername int,
@customervechicleno int,
@customervechicleamt decimal(12, 2),
@customervechiclebima decimal(12, 2),
@customervechiclepassing decimal(12, 2),
@customervechiclepassingpenalty decimal(12, 2),
@customervechiclecf decimal(12, 2),
@customervechiclecard decimal(12, 2),
@customervechiclecerti decimal(12, 2),
@customervechicleop decimal(12, 2),
@customervechicleagentfee decimal(12, 2),
@customervechiclefile decimal(12, 2),
@customervechiclebalta decimal(12, 2),
@customervechiclecng decimal(12, 2),
@customervechicleexpiry decimal(12, 2),
@customervechicleguarantee decimal(12, 2),
@customervechiclehp decimal(12, 2),
@customervechiclediscount decimal(12, 2),
@customervechicletotalpayment decimal(12, 2),
@customervechicledp decimal(12, 2),
@customervechicleloan decimal(12, 2),
@customervechicleper decimal(12, 2),
@customervechicleservicetax decimal(12, 2),
@customervechiclemonth int,
@customervechicleinstallmentrs decimal(12, 2),
@customervechiclecashpayment decimal(12, 2),
@customervechiclechequepayment decimal(12, 2),
@customervechiclechequeno decimal(12, 2),
@customervechiclechequedate decimal(12, 2),
@customervechiclebankbranch varchar(100),
@customervechicleistransferred bit,
@customervechicletransferredname int,
@customervechicledescription varchar(500),
@customervechicleservicetaxrs decimal(12, 2),
@customervechiclepermit decimal(12, 2),
@renewstartdate datetime,
@renewenddate datetime,
@renewamtbima decimal(12, 2),
@renewamtpassing decimal(12, 2),
@renewamtpermit decimal(12, 2),
@renewamtcng decimal(12, 2),
@renewtype varchar(20),
@branchid int,
@createduserid int,
@createddatetime datetime,
@updateduserid int,
@updateddatetime datetime
as
begin
insert into tbl_customervechicle
values(@customervechiclerefno, @customervechicleregdate, @customervechiclebillno, @customervechiclecustomername, @customervechicleno,
@customervechicleamt, @customervechiclebima, @customervechiclepassing, @customervechiclepassingpenalty, @customervechiclecf, @customervechiclecard,
@customervechiclecerti, @customervechicleop, @customervechicleagentfee, @customervechiclefile, @customervechiclebalta, @customervechiclecng,
@customervechicleexpiry, @customervechicleguarantee, @customervechiclehp, @customervechiclediscount, @customervechicletotalpayment, @customervechicledp,
@customervechicleloan, @customervechicleper, @customervechicleservicetax, @customervechiclemonth, @customervechicleinstallmentrs, @customervechiclecashpayment,
@customervechiclechequepayment, @customervechiclechequeno, @customervechiclechequedate, @customervechiclebankbranch, @customervechicleistransferred,
@customervechicletransferredname, @customervechicledescription, @branchid, @createduserid, @createddatetime,
@customervechicleservicetaxrs)
if (@customervechiclebima > 0)
Begin
INSERT INTO tbl_renew values(@customervechiclecustomername,@renewstartdate, @renewenddate, @renewamtbima, @branchid, @createduserid, @createddatetime, 'BIMA')
End
End
if (@customervechiclepermit > 0)
Begin
INSERT INTO tbl_renew values(@customervechiclecustomername,@renewstartdate, @renewenddate, @renewamtpermit, @branchid, @createduserid, @createddatetime, 'PERMIT')
End
End
if (@customervechiclepassing > 0)
Begin
INSERT INTO tbl_renew values(@customervechiclecustomername,@renewstartdate, @renewenddate, @renewamtpassing, @branchid, @createduserid, @createddatetime, 'PASSING')
End
End
if (@customervechiclecng > 0)
Begin
INSERT INTO tbl_renew values(@customervechiclecustomername,@renewstartdate, @renewenddate, @renewamtcng, @branchid, @createduserid, @createddatetime, 'CNG')
End
End
end
現在,在此查詢我已經創建了四個if條件,在EXCUTE時候它顯示的錯誤,即「‘如果’關鍵字附近有語法錯誤。」
此錯誤顯示在第三和第四,如果條件[按商店程序提示]
我完全混淆爲什麼這個錯誤在第三和第四if
狀況顯示,而語法是正確的我的思維。
你有2個'END's per'IF' ....爲什麼? – Lamak
爲什麼在一個'IF'後面找到2'End' –
你可以在哪裏告訴我行號或狀態? –