如下语句独立执行时没有任何问题例如:
select decode(select count(c1) from table2 where table2.id=table1.id,'1','true','false') from table1但当将此语句放入到存储过程中的时候就出现了编译误会了,不知道是为什么,请各位指教

解决方案 »

  1.   

    在plsql中你应该select decode(select count(c1) from table2 where table2.id=table1.id,'1','true','false') into 变量 from table1 要into到变量中
      

  2.   

    我并不需要将结果存放至变量后调用的哦我将decode中的那个查询语句换成普通的,如直接给一个 1 这样decode(1,'1','true','false')就OK的哦 问题就在于条件区使用了select cont(*) from table的语法但我在存储过程之外使用是正确的,就是放到在存储过程中就不行了
      

  3.   

    试一试下面的sql文:
    -----------------------------
    select decode(
    (
    select count(0)
    from student_temp t2,student t1
    where t2.sno = t1.sno
    )
    , 1,'true','false') from dual
      

  4.   

    那你用这条sql试试
    select decode(count(B.c1),'1','true','false') from table1 A,table2 B where A.id=B.id