Oracle - 不能改变过程

问题描述

dbup 执行以下 sql 脚本时,出现如下所示的错误

CREATE OR REPLACE PROCEDURE INVOICE_DELETE
    (PAR_INVOICE_ID IN NUMBER)
AS 
BEGIN   
    DELETE FROM INVOICE_SECT_ACCOUNTING_DATA
    WHERE INVOICE_ID = PAR_INVOICE_ID;
    
    DELETE FROM INVOICE
    WHERE INVOICE_ID = PAR_INVOICE_ID;
    
    COMMIT;
      
END INVOICE_DELETE;

Oracle 错误代码:1;号码-2147467259;消息:904
Oracle.ManagedDataAccess.Client.OracleException (0x80004005):
ORA-00904: "PAR_INVOICE_ID": niepoprawny identyfikator

解决方法

DbUp-Oracle 有 2 个构建器:OracleDatabaseWithDefaultDelimiter 和 OracleDatabaseWithSemicolonDelimiter - https://github.com/DbUp/DbUp/pull/335

我不好,因为我使用了 OracleDatabaseWithSemicolonDelimiter。所以 DbUp 将我的程序分成了几部分。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...