And support is provided (with some minor restrictions -see below) for all static SQL flavors of INSERT, DELETE and UPDATE.
This file, start.htm, and all the files it refers to, rec*.htm, are on the plsql/demo directory under the Oracle Home directory. First run rectab.sql and then recpkg.sql to set up the environment. Then you can copy the code samples straight from the browser to SQL*PLus.
There's a corresponding set of plain text files, rec*.sql, (only on the plsql/demo directory) which can be run with start or @ at the SQL*Plus prompt. The file rec_all.sql runs them all and cleans up after itself.
| What | static SQL | native dynamic SQL |
| SELECT | ||
| - single row | ok | ok |
| - many rows, single row syntax | ok | ok |
| - many rows, bulk syntax | PLS-00597 @9.0.1 illustrates LIMIT clause |
PLS-00597 @9.0.1 illustrates LIMIT clause |
| INSERT | ||
| - single row | ORA-00906 @9.0.1 | PLS-00457 @9.2.0 |
| - many rows, bulk syntax | ORA-00906 @9.0.1 illustrates SAVE EXCEPTIONS |
PLS-00457 @9.2.0 |
| DELETE with RETURNING | ||
| - single row | ORA-00600 @9.0.1 | PLS-00429 @9.2.0 |
| - many rows, bulk syntax | PLS-00597 @9.0.1 | PLS-00429 @9.2.0 |
| UPDATE with RETURNING | ||
| - single row | ORA-00600 @9.0.1 | PLS-00429 @9.2.0 |
| - many rows, bulk syntax | PLS-00597 @9.0.1 | PLS-00429 @9.2.0 |
| UPDATE ... SET ROW = no need for RETURNING since you already have the RECORD before you do the SQL |
||
| - single row | ORA-00904 @9.0.1 | PLS-00457 @9.2.0 |
| - many rows, bulk syntax | PLS-00436 @9.2.0 | PLS-00457 @9.2.0 |
| Key | |
| supported in 9.0.1 | |
| new in 9.2.0 | |
| partial support in in 9.2.0 | |
| not supported, 9.2.0 or earlier | |
Bryn Llewellyn, PL/SQL Product Manager, Oracle Corp
last updated 7-May-2002