我对这个发疯了。我有以下SP:
ALTER PROCEDURE [BankImport].[spBI_getIsBatchUnique]
@batchName varchar = 500
AS
BEGIN
SET NOCOUNT ON;
IF (EXISTS (SELECT 1 FROM [ACN_Main].[BankImport].[tblBI_Jobs]
WHERE [batchNumber] = @batchName))
BEGIN
SELECT 1
END
ELSE
BEGIN
SELECT 0
END
END
GO
但不管请求是什么,我总是回到0!
我试图通过多种方式对其进行修改,但没有成功! 我需要做的是检查是否有一个包含该批号的记录并返回true,否则返回false。
任何提示?
由于
答案 0 :(得分:8)
您的输入参数看起来有点搞笑
@batchName varchar = 500
应该这样吗?
@batchName varchar(500)
即设置varchar数据类型的长度,当前的方式,500是batchName
参数的默认值。
答案 1 :(得分:1)
我认为因为您比较batchNumber和batchName,请尝试
EXISTS (SELECT 1 FROM [ACN_Main].[BankImport].[tblBI_Jobs]
WHERE [batchName] = @batchName)