问题描述
当 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 将我的程序分成了几部分。