我有一个存储过程spResultFlagUpd
,它有2个参数@p_Code_Sazman
和@p_Code_Marhale
。此存储过程必须使用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
当我跑步时
exec spResultFlagUpd @p_Code_Marhale='000060', @p_Code_Sazman='000021'
它不会更新表格。
但是当我将更新代码作为SQL查询运行时,它可以正常工作。
当我编写像
这样的代码时 update tblResult
set MakeFileFlag=0
where Code_Marhale=@p_Code_Marhale and Code_Sazman=@p_Code_Sazman
它可以正常工作