add batch
remove batch
split batch
comment selection
show hidden batches
hide batch
highlight batch
db<>fiddle
Db2
Firebird
MariaDB
MySQL
Node.js
Oracle
Postgres
SQLite
SQL Server
TimescaleDB
YugabyteDB
Developer-C 11.1
3.0
4.0
10.2
10.3
10.4
10.5
10.6
10.7
10.8
10.9
5.5
5.6
5.7
8.0
18
11g Release 2
18c
21c
23c
8.4
9.3
9.4
9.5
9.6
10
11
12
13
14
15
16
3.8
3.16
3.27
3.39
2012
2014
2016
2017
2017 (Linux)
2019
2019 (Linux)
2022
2.11
2.6
2.8
2.18
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
AdventureWorks
no sample DB
no sample DB
AdventureWorks
no sample DB
no sample DB
no sample DB
no sample DB
run
markdown
donate
feedback
about
By using db<>fiddle, you agree to license everything you submit by
Creative Commons CC0
.
CREATE TABLE PURCHASE_ORDER(id int ,REQ_VENDOR_ID varchar(50) )
INSERT INTO PURCHASE_ORDER VALUES (1,'or123')
CREATE TABLE PURCHASE_ORDER_BARANG (barang_kode varchar(50),PURCHASE_ORDER_ID int, id2 int,id3 int)
CREATE TABLe VENDOR_BARANG (id int, `VENDOR_ID` varchar(50),KODE_BARANG varchar(50))
INSERT INTO VENDOR_BARANG values (1,'or123','or123')
CREATE TRIGGER pob_exists_barang_kode BEFORE INSERT ON `PURCHASE_ORDER_BARANG` FOR EACH ROW BEGIN declare msg varchar(128); IF NOT EXISTS (SELECT 1 FroM ( SELECT po.`REQ_VENDOR_ID` as rvid FROM `PURCHASE_ORDER` po INNER JOIN `PURCHASE_ORDER_BARANG` pob WHERE NEW.`PURCHASE_ORDER_ID` = po.`ID` ) `asdf` INNER JOIN `VENDOR_BARANG` ven ON ven.`VENDOR_ID` = asdf.rvid WHERE NEW.barang_kode = ven.`KODE_BARANG`) then SELECT po.`REQ_VENDOR_ID` INTO @rvid FROM `PURCHASE_ORDER` po, `PURCHASE_ORDER_BARANG` pob WHERE NEW.`PURCHASE_ORDER_ID` = po.`ID`; set msg = concat('Kesalahan! Tidak ada kode barang ', cast(new.barang_kode as char), ' pada vendor id ', cast(COALESCE(@rvid,-1) as char) ); signal sqlstate '45000' set message_text = msg; END IF; END
insert into `PURCHASE_ORDER_BARANG` values ('po2', '1', 5135, null);
Kesalahan! Tidak ada kode barang po2 pada vendor id -1