add
remove
split
language
show hidden
hide
db<>fiddle
Db2
DuckDB
Firebird
MariaDB
MySQL
Oracle
Postgres
SQL Server
SQLite
TimescaleDB
YugabyteDB
11.1
11.5
12.1
1.4 LTS
3.0
4.0
5.0
10.2
10.3
10.4
10.5
10.6
10.7
10.8
10.9
10.11
11.4
11.8
12.3
5.5
5.6
5.7
8.0
8.4
9.7
11g Release 2
18c
21c
23ai
23c
26ai
8.4
9.3
9.4
9.5
9.6
10
11
12
13
14
15
16
17
18
19 beta 3
2012
2014
2016
2017
2017 (Linux)
2019
2019 (Linux)
2022
2025
3.8
3.16
3.27
3.39
3.45
3.53
2.11
2.14
2.28
2.6
2.8
2.18
2024.2 LTS
2025.2 LTS
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
Sakila
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
AdventureWorks
no sample DB
no sample DB
AdventureWorks
no sample DB
AdventureWorks
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
run
abort
markdown
clear
donate
feedback
about
By using db<>fiddle, you agree to license everything you submit by
Creative Commons CC0
.
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
CREATE TABLE table_bb ( fname VARCHAR2(255), lname VARCHAR2(255), idty VARCHAR2(255) )
CREATE OR REPLACE PACKAGE MYPKG AS TYPE emprec IS RECORD( fname TABLE_BB.FNAME%TYPE, lname TABLE_BB.LNAME%TYPE, idty TABLE_BB.IDTY%TYPE ); TYPE emprectype IS TABLE OF emprec INDEX BY BINARY_INTEGER; PROCEDURE proc_aaa ( p_emp IN emprectype, x_status_code OUT VARCHAR2, x_error_message OUT VARCHAR2 ); END MYPKG; /
CREATE OR REPLACE PACKAGE body MYPKG as PROCEDURE proc_aaa ( p_emp IN emprectype, x_status_code OUT VARCHAR2, x_error_message OUT VARCHAR2 ) IS BEGIN FORALL i IN 1 .. p_emp.COUNT insert into table_BB values (p_emp(i).fname,p_emp(i).lname,p_emp(i).idty); END proc_aaa; END; /
SELECT * FROM USER_ERRORS;
DECLARE v_emps MYPKG.EMPRECTYPE; v_status VARCHAR2(4000); v_error VARCHAR2(4000); BEGIN v_emps(1).FNAME := 'Alice'; v_emps(1).LNAME := 'Abbot'; v_emps(1).IDTY := 'AAAAA'; v_emps(2).FNAME := 'Beryl'; v_emps(2).LNAME := 'Baron'; v_emps(2).IDTY := 'BBBBB'; mypkg.proc_aaa(v_emps, v_status, v_error); END; /
1 rows affected
SELECT * FROM table_bb;
FNAME
LNAME
IDTY
Alice
Abbot
AAAAA
Beryl
Baron
BBBBB