他不执行该程序。第一步失败。甲骨文

Posted

技术标签:

【中文标题】他不执行该程序。第一步失败。甲骨文【英文标题】:He does not perform the procedure. Fail in first step. Oracle 【发布时间】:2019-08-02 11:43:22 【问题描述】:

我在 oracle 中创建了删除我的表并从我的视图创建同一个表的过程。但是我在运行这个程序时遇到了一些问题。删除表的第一步有效,但复制它不起作用。

这是一个很好的程序吗?

create or replace PROCEDURE transfer_table (table_name IN VARCHAR2,tableFrom IN VARCHAR2) IS
BEGIN
    EXECUTE IMMEDIATE 'DROP TABLE ' || table_name;
    EXECUTE IMMEDIATE 'CREATE TABLE ' || table_name || ' AS SELECT * FROM ' || tableFrom;
  commit;
END transfer_table;

接下来我单击此过程并更改变量,然后查看并单击确定,但只有删除表的第一步有效。我做错了什么?

【问题讨论】:

否,但没有创建表:/ 可能是凭证问题。 可能是一个简单的错字?名为 AUTOMAT_CENY_ODTW 的表或视图真的存在吗? (顺便说一下,提交和回滚对 CREATE 和 DROP 等 DDL 命令没有影响。) 查看物化视图。 【参考方案1】:

如果您创建的表不存在,我认为您需要捕获错误。

create or replace PROCEDURE transfer_table (table_name IN VARCHAR2,tableFrom IN VARCHAR2) IS
BEGIN
    BEGIN
        EXECUTE IMMEDIATE 'DROP TABLE ' || table_name;
    EXCEPTION WHEN OTHERS THEN
        NULL;
    END;

    EXECUTE IMMEDIATE 'CREATE TABLE ' || table_name || ' AS SELECT * FROM ' || tableFrom;
  commit;
END transfer_table;

【讨论】:

以上是关于他不执行该程序。第一步失败。甲骨文的主要内容,如果未能解决你的问题,请参考以下文章

mysql 安装失败 start service执行不下去

安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法

顺序执行多条sql,一条执行失败则所有都执行失败;例如第一条成功,第二条失败的话,第一条也失败!急!

如何执行已经存在的 PL/SQL。 (甲骨文 APEX 21.1)

八事物管理

vscode自动安装失败,执行手动安装