热使用过程调用的结果作为条件
Hot to use results from procedure calls as conditions
我有一个检查条件的程序(如果会话已满)。我想创建一个触发器,在插入新预订之前检查会话是否已满。
我想象的是这样的。
CREATE OR REPLACE FUNCTION check_if_session_is_full_trigger()
RETURNS trigger AS
$BODY$
BEGIN
IF (EXECUTE session_is_full(NEW.session_id)) THEN
RAISE EXCEPTION 'SESSION IS FULLY BOOKED';
RETURN NEW;
END;
$BODY$
LANGUAGE plpgsql;
但我明白了
ERROR: syntax error at or near "session_is_full"
LINE 5: IF (EXECUTE session_is_full(NEW.session_id) = TRUE) THE...
很明显我做错了什么。
session_is_full(int) returns 布尔值。
我走在正确的轨道上吗?如何解决这个问题?
IF (session_is_full(NEW.session_id)) 应该工作 – @a_horse_with_no_name
我有一个检查条件的程序(如果会话已满)。我想创建一个触发器,在插入新预订之前检查会话是否已满。
我想象的是这样的。
CREATE OR REPLACE FUNCTION check_if_session_is_full_trigger()
RETURNS trigger AS
$BODY$
BEGIN
IF (EXECUTE session_is_full(NEW.session_id)) THEN
RAISE EXCEPTION 'SESSION IS FULLY BOOKED';
RETURN NEW;
END;
$BODY$
LANGUAGE plpgsql;
但我明白了
ERROR: syntax error at or near "session_is_full"
LINE 5: IF (EXECUTE session_is_full(NEW.session_id) = TRUE) THE...
很明显我做错了什么。
session_is_full(int) returns 布尔值。
我走在正确的轨道上吗?如何解决这个问题?
IF (session_is_full(NEW.session_id)) 应该工作 – @a_horse_with_no_name