CREATE OR REPLACE FUNCTION msgfailerror() RETURNS trigger AS
' BEGIN
IF NEW.noces< new.first_column THEN
RAISE EXCEPTION 'cannot have a negative salary';
END IF;
return new;
END' LANGUAGE plpgsql
触发器
create trigger msgfail before insert on first for each row
execute procedure msgfailerror()
出现错误:
语法错误:“cannot”附近的行 5: RAISE EXCEPTION 'cannot have a negative ...
我几乎为每个字段设置了一个验证。 我想在插入时触发器检查所有验证,并在全部完成后引发一次错误日志。 我应该在raise notice上使用raise exception吗?
例如:
Insert into first (first_column, noces,dob) values ('4545','75','545')
我正在检查 noces
是否小于 first_column
,对于同一行,我想检查 dob 是否大于80,如果 first_column 是整数并且针对所有验证引发错误。提前致谢。
INSERT
语句中却使用字符字面量。如果noces
和first_column
是字符列,那么<
将不会按照你的期望工作。永远不要在字符列中存储数字! - user330315