add
remove
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
23c
23ai
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 (Linux)
2017
2019 (Linux)
2019
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
Sakila
no sample DB
Sakila
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
no sample DB
HR
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
no sample DB
AdventureWorks
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
.
select version();
version()
8.0.27
CREATE TABLE products (product_name VARCHAR(3),list_price INT);
INSERT INTO products VALUES('AAA',800),('BBB',750),('CCC',650);
CREATE PROCEDURE test( OUT message VARCHAR(200) ) BEGIN DECLARE product_name_var VARCHAR(50); DECLARE list_price_var DECIMAL(9,2); DECLARE row_not_found TINYINT DEFAULT FALSE; DECLARE s_var VARCHAR(400) DEFAULT ''; DECLARE invoice_cursor CURSOR for SELECT product_name, list_price FROM products WHERE list_price > 700 ORDER BY list_price DESC; DECLARE CONTINUE HANDLER FOR NOT FOUND SET row_not_found = TRUE; OPEN invoice_cursor; FETCH invoice_cursor INTO product_name_var, list_price_var; WHILE row_not_found = FALSE DO SET s_var = CONCAT(s_var,'*', product_name_var,'*,*',list_price_var,'*|'); FETCH invoice_cursor INTO product_name_var, list_price_var; END WHILE; SET message = s_var ; #SELECT s_var AS message; END
CALL test(@A);
SELECT @A
@A
*AAA*,*800.00*|*BBB*,*750.00*|