mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
Merge mysql.com:/usr/local/mysql/tmp_merge
into mysql.com:/usr/local/mysql/merge-5.1
This commit is contained in:
@@ -998,3 +998,95 @@ SELECT * FROM t1 WHERE conn_id != trigger_conn_id;
|
||||
conn_id trigger_conn_id
|
||||
DROP TRIGGER t1_bi;
|
||||
DROP TABLE t1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (i1 INT);
|
||||
SET @save_sql_mode=@@sql_mode;
|
||||
SET SQL_MODE='';
|
||||
CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW
|
||||
SET @x = 5/0;
|
||||
SET SQL_MODE='traditional';
|
||||
CREATE TRIGGER t1_au AFTER UPDATE ON t1 FOR EACH ROW
|
||||
SET @x = 5/0;
|
||||
SET @x=1;
|
||||
INSERT INTO t1 VALUES (@x);
|
||||
SELECT @x;
|
||||
@x
|
||||
NULL
|
||||
SET @x=2;
|
||||
UPDATE t1 SET i1 = @x;
|
||||
ERROR 22012: Division by 0
|
||||
SELECT @x;
|
||||
@x
|
||||
2
|
||||
SET SQL_MODE='';
|
||||
SET @x=3;
|
||||
INSERT INTO t1 VALUES (@x);
|
||||
SELECT @x;
|
||||
@x
|
||||
NULL
|
||||
SET @x=4;
|
||||
UPDATE t1 SET i1 = @x;
|
||||
ERROR 22012: Division by 0
|
||||
SELECT @x;
|
||||
@x
|
||||
4
|
||||
SET @@sql_mode=@save_sql_mode;
|
||||
DROP TRIGGER t1_ai;
|
||||
DROP TRIGGER t1_au;
|
||||
DROP TABLE t1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
DROP PROCEDURE IF EXISTS p2;
|
||||
CREATE TABLE t1 (i1 INT);
|
||||
INSERT INTO t1 VALUES (3);
|
||||
CREATE PROCEDURE p1(OUT i1 INT) DETERMINISTIC NO SQL SET i1 = 5;
|
||||
CREATE PROCEDURE p2(INOUT i1 INT) DETERMINISTIC NO SQL SET i1 = i1 * 7;
|
||||
CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW
|
||||
BEGIN
|
||||
CALL p1(NEW.i1);
|
||||
CALL p2(NEW.i1);
|
||||
END//
|
||||
UPDATE t1 SET i1 = 11 WHERE i1 = 3;
|
||||
DROP TRIGGER t1_bu;
|
||||
DROP PROCEDURE p2;
|
||||
DROP PROCEDURE p1;
|
||||
INSERT INTO t1 VALUES (13);
|
||||
CREATE PROCEDURE p1(OUT i1 INT) DETERMINISTIC NO SQL SET @a = 17;
|
||||
CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW
|
||||
CALL p1(OLD.i1);
|
||||
UPDATE t1 SET i1 = 19 WHERE i1 = 13;
|
||||
ERROR 42000: OUT or INOUT argument 1 for routine test.p1 is not a variable or NEW pseudo-variable in BEFORE trigger
|
||||
DROP TRIGGER t1_bu;
|
||||
DROP PROCEDURE p1;
|
||||
INSERT INTO t1 VALUES (23);
|
||||
CREATE PROCEDURE p1(INOUT i1 INT) DETERMINISTIC NO SQL SET @a = i1 * 29;
|
||||
CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW
|
||||
CALL p1(OLD.i1);
|
||||
UPDATE t1 SET i1 = 31 WHERE i1 = 23;
|
||||
ERROR 42000: OUT or INOUT argument 1 for routine test.p1 is not a variable or NEW pseudo-variable in BEFORE trigger
|
||||
DROP TRIGGER t1_bu;
|
||||
DROP PROCEDURE p1;
|
||||
INSERT INTO t1 VALUES (37);
|
||||
CREATE PROCEDURE p1(OUT i1 INT) DETERMINISTIC NO SQL SET @a = 41;
|
||||
CREATE TRIGGER t1_au AFTER UPDATE ON t1 FOR EACH ROW
|
||||
CALL p1(NEW.i1);
|
||||
UPDATE t1 SET i1 = 43 WHERE i1 = 37;
|
||||
ERROR 42000: OUT or INOUT argument 1 for routine test.p1 is not a variable or NEW pseudo-variable in BEFORE trigger
|
||||
DROP TRIGGER t1_au;
|
||||
DROP PROCEDURE p1;
|
||||
INSERT INTO t1 VALUES (47);
|
||||
CREATE PROCEDURE p1(INOUT i1 INT) DETERMINISTIC NO SQL SET @a = i1 * 49;
|
||||
CREATE TRIGGER t1_au AFTER UPDATE ON t1 FOR EACH ROW
|
||||
CALL p1(NEW.i1);
|
||||
UPDATE t1 SET i1 = 51 WHERE i1 = 47;
|
||||
ERROR 42000: OUT or INOUT argument 1 for routine test.p1 is not a variable or NEW pseudo-variable in BEFORE trigger
|
||||
DROP TRIGGER t1_au;
|
||||
DROP PROCEDURE p1;
|
||||
SELECT * FROM t1;
|
||||
i1
|
||||
35
|
||||
13
|
||||
23
|
||||
43
|
||||
51
|
||||
DROP TABLE t1;
|
||||
|
||||
Reference in New Issue
Block a user