2014-09-06 38 views
0

我想当用户插入重复数据(代码值)显示错误的用户和当用户插入空值允许用户。显示错误,如果存在重复的数据,而不是空值显示

我的代码适用于重复代码,但是当用户空值我想不显示错误并允许用户插入数据。

我的代码是:

IF EXISTS (
     SELECT cd.Code 
     FROM chqDocuments cd 
     INNER JOIN chqDocumentTypes cdt 
      ON cdt.ID = cd.chqDocumentTypeID 

     INNER JOIN chqDocumentTypeClassifications cdtc 
      ON cdtc.ID = cdt.chqDocumentTypeClassificationID 

     WHERE 
     (cd.Code = @Code) AND 
     cdtc.id = @chqDocumentTypeClassificationID_Entry And 
     (LTRIM(RTRIM(cdtc.Code))='11' OR LTRIM(RTRIM(cdtc.Code))='12') 

    ) 

BEGIN 
    RAISERROR('showerror',16,1) 
    RETURN 
END 
+0

是@Code用户输入的代码值?此外,假设此代码目前不适用于NULL值是否正确,或者您是否只是试图确保它可以正确运行NULL值? – 2014-09-07 04:22:40

回答

2

假设@code是代码值的用户输入,这个代码将工作,是因为下面的代码将永远不会计算到真实的说明:

cd.Code = NULL -- even NULL != NULL; NULL IS NULL only works 

由于该陈述永远不会被满足,因此EXISTS子句也永远不会被满足。因此,用户将被允许为代码输入空值而不会抛出错误。

+0

tnx.your代码工作 – HapyUser 2014-09-08 11:35:04