2016-04-03 970 views
2

我使用if语句和AND条件检查oracle表单中的文本项。这是我按下按钮时的代码。我需要正确的语法建议。在ORACLE的If语句中写AND条件

BEGIN  
    IF  
    :LAND_MANAGEMENT.COMPANY  AND 
    :LAND_MANAGEMENT.LAND_TYPE   AND  
    :LAND_MANAGEMENT.DEED_NO    AND 
    :LAND_MANAGEMENT.LAND_TITLE   AND 
    :LAND_MANAGEMENT.LAND_SELLER_NAME  AND 
    :LAND_MANAGEMENT.LAND_AREA   AND  
    :LAND_MANAGEMENT.DEED_VALUE   AND 
    :LAND_MANAGEMENT.ACTUAL_COAST   AND 
    :LAND_MANAGEMENT.REGISTRATION_COAST IS NOT NULL THEN 

    commit_form; 
    GO_BLOCK('RECORDVIEW'); 
    EXECUTE_QUERY();   
    GO_BLOCK('LAND_MANAGEMENT'); 
    create_record; 
    Clear_block(no_validate); 
    FIRST_RECORD; 
    GO_ITEM('LAND_MANAGEMENT.COMPANY'); 
    END IF; 
    END; 
+2

好吧,首先,的X,Y空校验和z不写'X和Y z不是NULL',它的'x不是NULL,y不是NULL且z不是NULL'。 –

+0

感谢您的帮助 –

回答

1

and运算符应用于条件之间,而不是列之间。你需要检查每列null依赖性,然后这些检查之间适用and S:

IF  
    :LAND_MANAGEMENT.COMPANY    IS NOT NULL AND 
    :LAND_MANAGEMENT.LAND_TYPE   IS NOT NULL AND  
    :LAND_MANAGEMENT.DEED_NO    IS NOT NULL AND 
    :LAND_MANAGEMENT.LAND_TITLE   IS NOT NULL AND 
    :LAND_MANAGEMENT.LAND_SELLER_NAME  IS NOT NULL AND 
    :LAND_MANAGEMENT.LAND_AREA   IS NOT NULL AND  
    :LAND_MANAGEMENT.DEED_VALUE   IS NOT NULL AND 
    :LAND_MANAGEMENT.ACTUAL_COAST   IS NOT NULL AND 
    :LAND_MANAGEMENT.REGISTRATION_COAST IS NOT NULL THEN