CREATE TABLE em_user
(
user_id character(10),
last_attempt integer,
last_unsuccessfull_login timestamp with time zone,
is_locked boolean DEFAULT false);
UPDATE em_user
SET is_locked = TRUE
WHERE last_attempt >3 AND last_unsuccessfull_login=last_unsuccessfull_login+'2 minutes';
Run Code Online (Sandbox Code Playgroud)
我想在postgresql中1小时后更新我的表.
我有两张桌子
batch (batch_id,start_date,end_date,batch_strength,is_locked)
sem (user_id,is_active,no_of_days)
Run Code Online (Sandbox Code Playgroud)
我已经执行了下面给出的触发器过程,然后使用查询更新表
CREATE OR REPLACE FUNCTION em_batch_update()
RETURNS trigger AS $em_sem_batch$
BEGIN
UPDATE batch set is_locked='TRUE'
where (start_date
+ (select no_of_days from sem
WHERE is_active='TRUE' and user_id='OSEM')
) <= current_date;
return NEW;
END;
$em_sem_batch$ LANGUAGE plpgsql;
CREATE TRIGGER em_sem_batch
BEFORE UPDATE ON batch FOR EACH ROW EXECUTE PROCEDURE em_batch_update();
update em_batch set batch_strength=20 where batch_id='OD001C001B3';
Run Code Online (Sandbox Code Playgroud)
发生了错误:
错误:超出堆栈深度限制
提示:确保平台的堆栈深度限制足够后,增加配置参数"max_stack_depth"(当前为2048kB).