字符型的整个where 都没匹配上  整个数据全是空的  这样能替换么 

解决方案 »

  1.   

    空格和空是不一样的
    不知道你说的没匹配上是什么意思
    用trim(字段名)可以将空格变成null
      

  2.   


    就是 select* from  
    返回的结果是count 是0
    这样是不是不能去替换阿   SELECT   LM_LICENSE.TRADE_NAME, LM_LICENSE.TRADE_NAME_J
                     INTO   V_TRADE_NAME, V_TRADE_NAME_J
                     FROM   CASE_MASTER,
                            CASE_PRODUCT,
                            LM_PRODUCT,
                            LM_LIC_PRODUCTS,
                            LM_LICENSE
                    WHERE   CASE_MASTER.CASE_ID = CASE_PRODUCT.CASE_ID
                            AND CASE_PRODUCT.PRODUCT_ID = LM_PRODUCT.PRODUCT_ID
                            AND LM_PRODUCT.PRODUCT_ID =
                                  LM_LIC_PRODUCTS.PRODUCT_ID
                            AND LM_LIC_PRODUCTS.LICENSE_ID =
                                  LM_LICENSE.LICENSE_ID
                            AND CASE_MASTER.DELETED IS NULL
                            AND CASE_PRODUCT.DELETED IS NULL
                            AND LM_PRODUCT.DELETED IS NULL
                            AND LM_LIC_PRODUCTS.DELETED IS NULL
                            AND LM_LICENSE.DELETED IS NULL
                            AND LM_LICENSE.COUNTRY_ID = 107
                            AND LM_LICENSE.LICENSE_TYPE_ID = 4
                            AND CASE_MASTER.COUNTRY_ID = 107
                            AND CASE_PRODUCT.PROTOCOL_FOLLOWED IS NULL
                            AND CASE_PRODUCT.PRODUCT_ID IS NOT NULL
                            AND CASE_MASTER.CASE_ID = ROW_REC.CASE_ID
                            AND CASE_PRODUCT.PRODUCT_ID = ROW_REC.PRODUCT_ID
                            AND CASE_PRODUCT.SEQ_NUM = ROW_REC.SEQ_NUM; 
    给这两个变量赋值 会报错
    V_TRADE_NAME, V_TRADE_NAME_J
      

  3.   

    都没有结果集返回,nvl当然无效
    检查下连接条件
      

  4.   

    先定义个v_count,然后select count(*) into v_count from ...  如果v_count = 0抛出异常及给俩参数重新初始化,不然就执行你这段赋值语句。