m0_60221350
2021-07-15 15:09
采纳率: 0%
浏览 29

请教一个关于oracle语句的问题

创建语句级触发器,需要对scott用户的emp表上进行增删改操作的用户进行安全检查,如果不是scott用户且不是周一至周五上班时间(9:00~17:00),不能够做数据增、删、改的操作。
create or replace trigger biud_emp
before insert or update or delete on emp
DECLARE
v_currentweak VARCHAR(20) ;
v_currenthour VARCHAR(20) ;
begin
SELECT TO_CHAR(SYSDATE,'day'),TO_CHAR(SYSDATE,'hh24') INTO v_currentweak, v_currenthour FROM dual ;
/不是scott用户,则不能够做增、删、改操作。/
IF TRIM(v_currentweak)='星期一' OR TRIM(v_currentweak)='星期五' or user not in('SCOTT') THEN
RAISE_APPLICATION_ERROR(-20008,'在周五及周一you do not have access to modify this table.') ;
end if;
end;

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 还要查询一下当前用户,判断是否为scott用户。
    user 是哪里来的。

    评论
    解决 1 无用
    打赏 举报
  • m0_60221350 2021-07-15 16:24

    img

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题