ITPub博客

首页 > 数据库 > Oracle > 限制用户不能更改表里面的某个字段

限制用户不能更改表里面的某个字段

原创 Oracle 作者:us_yunleiwang 时间:2013-12-05 17:14:59 0 删除 编辑
方法1:
CREATE OR REPLACE  TRIGGER TEST
BEFORE  UPDATE OF name
ON tb FOR EACH ROW
DECLARE
  L_USERNAME VARCHAR2(100);
BEGIN
  SELECT T.USERNAME INTO L_USERNAME FROM USER_USERS T;
  IF L_USERNAME = '011' THEN
    DBMS_OUTPUT.PUT_LINE('YOU CAN NOT UPDATE THE COLUMN');
    ROLLBACK;
  END IF;
END;

方法2:
create or replace trigger test_trig 
before update on tb
declare
user varchar2(10);
begin
   SELECT SYS_CONTEXT('USERENV','SESSION_USER') into user from dual;
   if user='011 ' and updating('name') then
      raise_application_error(-20001,'not allow change'
   end if;
end;

方法3:
create or replace trigger test
before update on tb for each row
declare
  v_u1 varchar2(100):= login_user;
begin
    if v_u1 = '011' then
       :new.name := :old.name;
    end if;
end;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23490154/viewspace-1062431/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-03-15

  • 博文量
    198
  • 访问量
    1393150