sqloracledbup

Oracle - cannot alter procedure


When DbUp executes the following SQL script, I get an error as shown further down:

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 error code: 1; Number -2147467259; Message: 904
Oracle.ManagedDataAccess.Client.OracleException (0x80004005):
ORA-00904: "PAR_INVOICE_ID": niepoprawny identyfikator


Solution

  • DbUp-Oracle has 2 buiders: OracleDatabaseWithDefaultDelimiter and OracleDatabaseWithSemicolonDelimiter - https://github.com/DbUp/DbUp/pull/335.

    My bad because I used OracleDatabaseWithSemicolonDelimiter. So DbUp splits my procedure into pieces.