関数の中で使用されている以下が何かわからず、困っています。
・[MIN]
・[MAX]
定義を見たわけではないので、もしかすると定義自体が間違っている可能性があるかもしれません。
お手数で教えていただけますでしょうか。
SQL
1DROP TRIGGER IF EXISTS TG20180712_01 ON T20180712_01; 2DROP FUNCTION IF EXISTS F20180712_01(); 3DROP TABLE IF EXISTS T20180712_03; 4DROP TABLE IF EXISTS T20180712_02; 5DROP TABLE IF EXISTS T20180712_01; 6 7CREATE TABLE T20180712_01( 8 num varchar(10) 9); 10 11CREATE TABLE T20180712_02( 12) INHERITS(T20180712_01); 13 14CREATE TABLE T20180712_03( 15) INHERITS(T20180712_01); 16 17CREATE FUNCTION F20180712_01() RETURNS TRIGGER AS $$ 18 BEGIN 19 IF ('[MIN]'<=NEW.num AND NEW.num<='[MAX]') THEN 20 INSERT INTO T20180712_02 VALUES(NEW.*); 21 ELSE 22 INSERT INTO T20180712_03 VALUES(NEW.*); 23 END IF; 24 RETURN NULL; 25 END; 26$$ LANGUAGE plpgsql; 27 28CREATE TRIGGER TG20180712_01 29 BEFORE INSERT ON T20180712_01 30 FOR EACH ROW EXECUTE PROCEDURE F20180712_01(); 31 32INSERT INTO T20180712_01 VALUES('1'); 33INSERT INTO T20180712_01 VALUES('3'); 34INSERT INTO T20180712_01 VALUES('2'); 35SELECT * FROM T20180712_01; 36SELECT * FROM T20180712_02; 37SELECT * FROM T20180712_03;
回答2件
あなたの回答
tips
プレビュー