这样一个SQL语句:
DECLARENUM INTEGER;
BEGIN
SELCT COUNT(1) INTO NUM FROM DBA_TABLES WHERE TABLE_NAME='TEST' AND OWNER='RAHEBS';
IF NUM>0 THEN 
EXECUTE IMMEDIATE 'DROP TABLE RAHEBS.TEST';
END IF;
END;--ASELECT * FROM DBA_TABLES WHERE TABLE_NAME='TEST' AND OWNER='RAHEBS';--B单独运行语句A,语句B,都没有问题。
但是A,B一起执行就会报错。
请问如何在BEGIN块之后继续执行其他的语句呢?

解决方案 »

  1.   

    lz使用的是什么工具,如果是SQLplus的话在两句中加加斜杠/试试
      

  2.   


    报ORA-06550 错误,'/'字符无效。
      

  3.   


    --select 写错了。
    [SYS@myoracle] SQL>DECLARE
      2  NUM INTEGER;
      3  BEGIN
      4  SELECT COUNT(1) INTO NUM FROM DBA_TABLES WHERE TABLE_NAME='TEST' AND OWNER='RAHEBS';
      5  IF NUM>0 THEN
      6  EXECUTE IMMEDIATE 'DROP TABLE RAHEBS.TEST';
      7  END IF;
      8  END;
      9  /PL/SQL 过程已成功完成。[SYS@myoracle] SQL>SELECT * FROM DBA_TABLES WHERE TABLE_NAME='TEST' AND OWNER='RAHEBS';未选定行[SYS@myoracle] SQL>