# Oracle Create Stored Procedure shows error but completed successfully

**URL:** <https://forum.liquibase.org/t/oracle-create-stored-procedure-shows-error-but-completed-successfully/9598>\
**Category:** General Discussion\
**Created:** [August 8, 2024, 6:59pm UTC](https://forum.liquibase.org/t/oracle-create-stored-procedure-shows-error-but-completed-successfully/9598 "2024-08-08T18:59:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![michaelruminer](https://avatars.discourse-cdn.com/v4/letter/m/7993a0/32.png) [@michaelruminer](https://forum.liquibase.org/u/michaelruminer)\
**Post date:** [August 8, 2024, 6:59pm UTC](https://forum.liquibase.org/t/oracle-create-stored-procedure-shows-error-but-completed-successfully/9598/1 "2024-08-08T18:59:12Z")

</div>

During the creation of an Oracle stored procedure an error is generated due to a missing column it references, but the command reports “PL/SQL procedure successfully completed”.

Based on my research this is because it creates the SPROC it just couldn’t compile it.  
In this changeset there are multiple DDL activities (I know; don’t do that. I didn’t create the changeset). Liquibase moves on to other activities in the changeset and runs them. But then recognizes the error at the end of the changeset operations and does not run later changesets.

I would have expected it to stop running the changeset once it hit that first SPROC compilation error. If it doesn’t due to Oracle creating the SPROC but not compiling it how is it knowing at the end of the changeset there was an issue?

Is Liquibase at the end of changeset run checking the compiler log?

Liquibase 4.9.1 using SQL files.

---

<div class="post-metadata">

**Author:** ![daryldoak](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.liquibase.org/daryldoak/32/764_2.png) [@daryldoak](https://forum.liquibase.org/u/daryldoak)\
**Post date:** [August 8, 2024, 7:12pm UTC](https://forum.liquibase.org/t/oracle-create-stored-procedure-shows-error-but-completed-successfully/9598/2 "2024-08-08T19:12:13Z")

</div>

This is core Oracle functionality. The CREATE statement is successful. Oracle will create even if there are syntax errors in the code. This is the same behavior occurs in Liquibase or in native Oracle tools (sqlplus/sql-developer).

---

<div class="post-metadata">

**Author:** ![michaelruminer](https://avatars.discourse-cdn.com/v4/letter/m/7993a0/32.png) [@michaelruminer](https://forum.liquibase.org/u/michaelruminer)\
**Post date:** [August 8, 2024, 7:22pm UTC](https://forum.liquibase.org/t/oracle-create-stored-procedure-shows-error-but-completed-successfully/9598/3 "2024-08-08T19:22:21Z")

</div>

Agreed. That was my understanding in my research (Oracle functionality) but why then does Liquibase halt after the changeset completes not moving to the next changeset and is recognizing there was an issue in the changeset execution?

---

<div class="post-metadata">

**Author:** ![daryldoak](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.liquibase.org/daryldoak/32/764_2.png) [@daryldoak](https://forum.liquibase.org/u/daryldoak)\
**Post date:** [August 8, 2024, 8:05pm UTC](https://forum.liquibase.org/t/oracle-create-stored-procedure-shows-error-but-completed-successfully/9598/4 "2024-08-08T20:05:01Z")

</div>

My execution did not halt. My first changeset had a syntax error, but all 5 pending changesets completed successfully.

```auto
UPDATE SUMMARY
Run: 5
Previously run: 24
Filtered out: 1
-------------------------------
Total change sets: 30

FILTERED CHANGE SETS SUMMARY
Context mismatch: 1

```

---

<div class="post-metadata">

**Author:** ![michaelruminer](https://avatars.discourse-cdn.com/v4/letter/m/7993a0/32.png) [@michaelruminer](https://forum.liquibase.org/u/michaelruminer)\
**Post date:** [August 8, 2024, 8:18pm UTC](https://forum.liquibase.org/t/oracle-create-stored-procedure-shows-error-but-completed-successfully/9598/5 "2024-08-08T20:18:43Z")

</div>

Interesting. Thanks.
