繁体   English   中英

Oracle-如何编写简单的PL / SQL过程

[英]Oracle - How to write simple PL/SQL procedure

我需要创建一个带有会话的表。 成功通过身份验证的新用户将添加到表中。 每次用户打开页面时,用户都会在此表中签入。 因此,我想使用每分钟运行一次的PL / SQL过程,并删除30分钟之前的会话以刷新“死亡”会话。

或者,也许DELETE FROM "Dates" WHERE "Date" < SYSDATE - 1/48;执行DELETE FROM "Dates" WHERE "Date" < SYSDATE - 1/48; 每次重新加载页面时,都会有一个更优化的解决方案吗?

delete 
from table
where date_column < sysdate - 30/1440;

1天

1/1440是一分钟

30/1440等于30分钟

您不需要执行此操作的过程。 简单的删除查询就足够了。

DELETE FROM "Dates" WHERE "Date" < SYSDATE - 1/48;

如果您需要程序,则应将此查询包装到proc中。

SQL

delete from mytable
  where mytable.datefield < sysdate - .02083333333333333333;
commit;

.02083333333333333333是1800/86400,即一天中以秒为单位的30分钟/秒

如果要编写触发器或存储过程,则可以使用PL / SQL。 请详细说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM