При создании хранимой процедуры в SQL server появляется неправильный синтаксис рядом с ошибкой '='
У меня есть таблицы bankcheques, cheques и chequedetails теперь я создаю процедуру для
если bank_id, bankchequeno не существует в таблице bankcheques вставить запись. при обновлении записи я проверяю два условия, если chequeno не существует в таблице chequedetails обновить каждое поле из таблицы bankcheques.
и если chequeno существует в таблице chequedetails, обновите только поле status в таблице bankcheques. здесь я проверяю другое условие.
я беру maxcheueno из таблицы чеков на основе bankid и chequeend из таблицы bankcheques и сравниваю оба значения, а затем обновляю статус таблицы bankcheque.Я получаю неправильный синтаксис рядом с ошибкой"=", пожалуйста, помогите мне в этом.заранее спасибо.
Что я уже пробовал:
USE [ChequeManager] GO /****** Object: StoredProcedure [dbo].[Insertupdatebankcheques_iu] Script Date: 06/17/2017 09:10:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[Insertupdatebankcheques_iu] (@bank_Id int ,@bankslno int ,@bankChqstartno nvarchar(6) ,@bankChqlvscount smallint ,@bankChqendno nvarchar(6) ,@bank_Stat bit ,@InsUpdt bit) as begin declare @lastcheueno as int declare @chqlastno as int select @lastcheueno= max([ChequeNo]) FROM [ChequeManager].[dbo].[Cheques] where [bank_Id]=@bank_Id SELECT @chqlastno= [bank_Chqendno] FROM [ChequeManager].[dbo].[bankcheques] where bank_Id=@bank_Id and bank_Slno=@bankslno if(@InsUpdt=1) begin if not exists(select bank_Id,bank_Chqstartno FROM [ChequeManager].[dbo].[bankcheques] where bank_Id=@bank_Id) begin INSERT INTO [ChequeManager].[dbo].[bankcheques] (bank_Id, bank_Slno, [bank_Chqstartno] ,[bank_Chqlvscount] ,[bank_Chqendno] ,bank_Stat) values( @bank_Id, @bankslno ,@bankChqstartno ,@bankChqlvscount ,@bankChqendno, @bank_Stat) end end if(@InsUpdt=0) begin if not exists(select chqs_Chequeno FROM [ChequeManager].[dbo].[chequedetails] where bank_Id=@bank_Id) begin UPDATE [ChequeManager].[dbo].[bankcheques] set bank_Chqstartno=@bankChqstartno, bank_Chqlvscount=@bankChqlvscount, bank_Chqendno=@bankChqendno, [bank_Stat]=@bank_Stat ,[bank_Mstmp] = getdate() WHERE bank_Id=@bank_Id and [bank_Slno]=@bankslno end end if exists(select chqs_Chequeno FROM [ChequeManager].[dbo].[chequedetails] where bank_Id=@bank_Id) begin if(@chqlastno==@lastcheueno) begin UPDATE [ChequeManager].[dbo].[bankcheques] set [bank_Stat]=@bank_Stat ,[bank_Mstmp] = getdate() WHERE bank_Id=@bank_Id and [bank_Slno]=@bankslno end end end