我有一個存儲過程spResultFlagUpd
,它獲取2個參數@p_Code_Sazman
和@p_Code_Marhale
。當我運行SQL Server執行命令工作不正確
exec spResultFlagUpd @p_Code_Marhale='000060', @p_Code_Sazman='000021'
它不更新表此存儲過程必須更新true和false值
ALTER PROCEDURE [dbo].[spResultFlagUpd]
@p_Code_Sazman Nchar(6) = Null,
@p_Code_Marhale Nchar(6)=Null
AS
IF EXISTS(SELECT * FROM tblResult
WHERE Code_Marhale = @p_Code_Marhale
AND Code_Sazman = @p_Code_Sazman
AND Confirmed = 1 AND SendFile = 1 AND MakeFileFlag = 1)
BEGIN
UPDATE tblResult
SET MakeFileFlag = 0
WHERE Code_Marhale = @p_Code_Marhale
AND Code_Sazman = @p_Code_Sazman
END
列。
但是,當我作爲SQL查詢運行更新代碼時,它可以正常工作。
當我寫這樣
update tblResult
set MakeFileFlag=0
where [email protected]_Code_Marhale and [email protected]_Code_Sazman
的純代碼是否能夠正常工作
檢查該查詢是否返回任何結果'SELECT * FROM tblResult WHERE Code_Marhale = '000060' AND Code_Sazman ='000021'AND Confirmed = 1 AND SendFile = 1 AND MakeFileFlag = 1' –
是的,它返回1個唯一記錄 – Mina
即使我右鍵單擊sp並從該窗口使用值執行sp,它也能正確運行@Prdp – Mina