add
remove
split
language
chart
show hidden
hide
db<>fiddle
Db2
DocumentDB
DuckDB
Firebird
MariaDB
MySQL
Oracle
Postgres
SQL Server
SQLite
TimescaleDB
YugabyteDB
11.1
11.5
12.1
0.114 (MongoDB 7.0)
0.116 (MongoDB 7.0)
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 4
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
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
db<>fiddle Statistics
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
.
create table personal_data_a(id number, born number, age number, weight number, name varchar2(100), surname varchar2(100));
create table personal_data_b(id number, born number, age number, weight number, name varchar2(100));
insert into personal_data_a values(1,null,2,501,'John','Doe');
1 rows affected
insert into personal_data_a values(2,null,3,501,'John','Doe');
1 rows affected
--Get the ID column from a PERSONAL table. -- --#4: Get the IDs from the XMLType. select id from ( --#3: Convert the XML to an XMLType. select xmltype(personal_xml) personal_xmltype from ( --#2: Convert the SQL to XML. select dbms_xmlgen.getxml(v_sql) personal_xml from ( --#1: Use data dictionary to create SQL statement that may or may not include -- the surname predicate. select max(replace(replace( q'[ Select ID from #TABLE_NAME# where born is null or age < 1 or weight > 500 or (name = 'John' #OPTIONAL_SURNAME_PREDICATE#) ]' , '#TABLE_NAME#', table_name) , '#OPTIONAL_SURNAME_PREDICATE#', case when column_name = 'SURNAME' then 'and surname = ''Doe''' else null end)) v_sql from all_tab_columns --Change this literal to the desired table. where table_name = 'PERSONAL_DATA_A' ) ) where personal_xml is not null ) cross join xmltable ( '/ROWSET/ROW' passing personal_xmltype columns id number path 'ID' );
ID
1
2