小编pro*_*ing的帖子

创建具有多个嵌套开始的存储过程

如何在一个过程中放置​​多个“开始”以删除和创建表?

我的尝试——

CREATE PROCEDURE procCreateCarTable
IS
    BEGIN

        BEGIN 
            EXECUTE IMMEDIATE 'DROP TABLE CARS';
        END;

        COMMIT;

        BEGIN
            EXECUTE IMMEDIATE 'CREATE TABLE CARS (ID VARCHAR2(1), NAME VARCHAR2(10), TITLE VARCHAR2(10))';
            COMMIT;
        END;
    END; 
Run Code Online (Sandbox Code Playgroud)

一一执行工作,但在创建此过程时,我收到以下错误 -

ORA-06550: line 5, column 1:
PLS-00103: Encountered the symbol "END" 
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
Run Code Online (Sandbox Code Playgroud)

这是我在下面的评论中提到的我开始工作的 SQL 过程 -

CREATE PROCEDURE procCreateCarTable
IS
BEGIN
  EXECUTE IMMEDIATE 'DROP TABLE CARS';
  EXCEPTION WHEN OTHERS THEN NULL;
  EXECUTE IMMEDIATE 'CREATE TABLE CARS …
Run Code Online (Sandbox Code Playgroud)

sql stored-procedures oracle-sqldeveloper

1
推荐指数
1
解决办法
6736
查看次数