Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/main/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 2 kB image not shown  

Quelle  trigger-33083.result   Sprache: Lisp

 

#
# Test with triggers that succeed
#
CREATE TABLE t1 (id INT PRIMARY KEY, val INT);
CREATE TABLE log (id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255));
INSERT INTO t1 VALUES (1, 1);
CREATE TRIGGER t1_before_update BEFORE UPDATE ON t1 FOR EACH ROW
INSERT INTO log (msg) VALUES ('before update');
CREATE TRIGGER t1_after_update AFTER UPDATE ON t1 FOR EACH ROW
INSERT INTO log (msg) VALUES ('after update');
#
# Normal UPDATE with no data change
# Expected: Both BEFORE and AFTER triggers fire.
#
TRUNCATE log;
UPDATE t1 SET val = 1 WHERE id = 1;
SELECT * FROM log ORDER BY id;
id msg
1 before update
2 after update
TRUNCATE log;
#
# INSERT ... ON DUPLICATE KEY UPDATE with no data change
# Expected: Both BEFORE and AFTER triggers fire.
#
INSERT INTO t1 (id, val) VALUES (1, 1) ON DUPLICATE KEY UPDATE val = 1;
SELECT * FROM log ORDER BY id;
id msg
1 before update
2 after update
TRUNCATE log;
#
# Part 2: Test with triggers that fail
#
DROP TRIGGER t1_before_update;
DROP TRIGGER t1_after_update;
#
# Failing BEFORE UPDATE trigger
#
CREATE TRIGGER t1_before_update_fail BEFORE UPDATE ON t1 FOR EACH ROW
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error in BEFORE UPDATE';
#
# Normal UPDATE with no data change (fails due to BEFORE trigger)
#
UPDATE t1 SET val = 1 WHERE id = 1;
ERROR 45000: Error in BEFORE UPDATE
# INSERT ... ON DUPLICATE KEY UPDATE with no data change (fails due to BEFORE trigger)´
TRUNCATE log;
INSERT INTO t1 (id, val) VALUES (1, 1) ON DUPLICATE KEY UPDATE val = 1;
ERROR 45000: Error in BEFORE UPDATE
DROP TRIGGER t1_before_update_fail;
CREATE TRIGGER t1_before_update_log BEFORE UPDATE ON t1 FOR EACH ROW
INSERT INTO log (msg) VALUES ('before update');
CREATE TRIGGER t1_after_update_fail AFTER UPDATE ON t1 FOR EACH ROW
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error in AFTER UPDATE';
#
# Failing AFTER UPDATE trigger
#
UPDATE t1 SET val = 1 WHERE id = 1;
ERROR 45000: Error in AFTER UPDATE
SELECT * FROM log ORDER BY id;
id msg
1 before update
TRUNCATE log;
#
# Test ON DUPLICATE  KEY UPDATE with no data change (failing AFTER UPDATE trigger)
#
INSERT INTO t1 (id, val) VALUES (1, 1) ON DUPLICATE KEY UPDATE val = 1;
ERROR 45000: Error in AFTER UPDATE
SELECT * FROM log ORDER BY id;
id msg
1 before update
#
# Cleanup
#
DROP TABLE t1, log;

Messung V0.5 in Prozent
C=65 H=100 G=84

¤ Dauer der Verarbeitung: 0.8 Sekunden  (vorverarbeitet am  2026-10-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.