1

我要疯了这个。我有以下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。

任何提示?

谢谢

4

2 回答 2

8

你的输入参数看起来有点滑稽

@batchName varchar = 500

应该是这个吗?

@batchName varchar(500)

即设置 varchar 数据类型的长度,你当前如何拥有它,500 是batchName参数的默认值。

于 2012-06-18T13:08:28.637 回答
1

我想因为你比较了batchNumber和batchName,试试

EXISTS (SELECT 1 FROM [ACN_Main].[BankImport].[tblBI_Jobs]
        WHERE [batchName] = @batchName)
于 2012-06-18T13:10:56.587 回答