为空的话也可以直接写的:
SELECT A INTO B FROM TABLE;
或者
SELECT NVL(A,NULL) INTO B FROM TABLE;

解决方案 »

  1.   

    这个是ORACLE定义的异常,用NVL(),就不会有了。
      

  2.   

    用:
    SELECT NVL(A,NULL) INTO B FROM TABLE;
    一样错误:"未找到数据"
      

  3.   

    晕死,把Null转化成Null,当然还是有异常啊!!
    如果想实现把NULL赋给B,直接捕获异常,不处理就可以了。
      

  4.   

    这个错误是说你的的select语句没有得到记录,选出了0条记录,怎么能付给b呢!并不是说选出了null
      

  5.   

    同意楼上的,没有记录选出来,用NVL是没用的。用这样的方法应该可以的吧:select NVL(SELECT NVL(A,NULL) FROM TABLE)) INTO B FROM DUAL;
      

  6.   

    谢谢..
    我用了 Count(*) 判断后,记录大于>1我再处理的..
    接贴!!