【问题标题】:I was to execute a trigger and that should be applied to all users except one user我要执行一个触发器,它应该应用于除一个用户之外的所有用户
【发布时间】:2012-07-09 15:50:27
【问题描述】:

我想执行一个触发器,它应该应用于除一个用户之外的所有用户。

我该怎么写?

请提供一个简单的代码示例?

【问题讨论】:

    标签: oracle triggers plsql


    【解决方案1】:
    if user != 'BADGUY' then
    --  run this code
    end if;
    

    【讨论】:

    • 如果您还想阻止其定义者的权限对象调用触发器,您可能需要添加and sys_context('userenv', 'current_user') != 'BADGUY'。见stackoverflow.com/a/11005177/409172
    【解决方案2】:
     CREATE OR REPLACE TRIGGER <trigger_name>
     :
     DECLARE
    
    
     BEGIN
    
       --replace scott with the user you want to restrict 
       IF sys_context( 'userenv', 'current_user' ) <> 'SCOTT' THEN  
         --do what you want to do 
    
       END IF;
    
     END <trigger_name>;
    

    【讨论】:

      猜你喜欢
      • 2021-08-13
      • 2020-09-25
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 1970-01-01
      • 2018-07-20
      相关资源
      最近更新 更多