Anonymous 2328
The Oracle support seems to require having one and only one statement per batch, which makes usage and comparing SQL implementations a bit difficult.
As an example, https://dbfiddle.uk/?rdbms=oracle_21&fiddle=6c32e05b9b3e58c6e6ff0e777f6d654a returns a mysterious "ORA-00922: missing or invalid option" error.
However, separating all the statements works: https://dbfiddle.uk/?rdbms=oracle_21&fiddle=2b51fe59de005f256aa8a8148c1e1d3f.
It'd be nice if it could work the same as e.g. Postgres: https://dbfiddle.uk/?rdbms=postgres_14&fiddle=96e15f49aba6c9c10519e70cc6153217
Top Answer
Jack Douglas
The [OCI](https://www.oracle.com/uk/database/technologies/appdev/oci.html) ("Oracle Call Interface" - their own API) doesn't support running multiple statements in a single batch.
db<>fiddle doesn't parse batches for any rdbms, it just sends them 'as is' to the backends. What you are asking isn't possible unless we parsed the batch and split it up into seperate statements, which I've always thought would add too much complexity and fragility. Instead I added the 'split batch' feature just to make it easier to separate statements manually:
![image.png](/image?hash=32272e16ffe36481bc01119b910800473f54fb74368aef93727cddc62870e084)
That *does* do some simple parsing in the front end but nothing too clever and you have to manually review - it breaks horribly if you have functions for example.
Depending on the SQL, you might also be able to 'batch' statements up in anonymous blocks:
<>https://dbfiddle.uk/?rdbms=oracle_21&fiddle=d5d9c454508ab0fbd0fac7ddf0ceddb5