从表 XXFIN 中抽出数据,#ASSET_NO 是一个配列(比如 :('007','008','009')),#ASSET_NO可能为null如果为null
就不作为查询条件,如果不是null就作为查询条件,我些的查询如下,但是当#ASSET_NO中数据个数>=2时,#ASSET_NO is null
将回报错,请各位大侠给解决下。如何能实现,请把代码贴出来,谢谢....SELECT ASSET_NO,ITM_NAME ,MODEL 
  FROM XXFIN  
  WHERE #ASSET_NO is null or ASSET_NO IN #ASSET_NO

解决方案 »

  1.   

    表达不是太清楚,只能猜测下:
    SELECT ASSET_NO,ITM_NAME ,MODEL  
      FROM XXFIN   
      WHERE #ASSET_NO is not null and ASSET_NO IN #ASSET_NO
      

  2.   

    #ASSET_NO 穿过来如果事null那么就是全检索,不是null就是字段 ASSET_NO IN #ASSET_NO
      

  3.   

    SELECT ASSET_NO,ITM_NAME ,MODEL 
      FROM XXFIN  
      WHERE #ASSET_NO is null or instr(#ASSET_NO,ASSET_NO)>0#ASSET_NO用法不正确,尽管你定义的是变量,但oracle认为是字符串
      

  4.   

    使用动态 sql
    execute immediate