需要创建trigger,trigger名和已有表名相同,竟然没有问题。

编译的时候发现SFISM4用户缺少表SFIS1.C_MENU_PARAMETER_T的权限,查询发现C_UPDATE和C_SELECT角色已经有该表权限,且SFISM4用户也已经有这俩角色。

查询发现涉及到authid current_user和authid definer(默认)这两个参数。

直接总结:

在ORACLE8i以前的版本,所有已编译存储对象,包括packages, procedures, functions, triggers, views等,只能以定义者(Definer)身份解析运行;而ORACLE8i及其后的新版本,Oracle引入调用者(invoker)权限,使得对象可以以调用者身份和权限执行。

1.authid current_user使用的是调用者的权限去运行,authid definer使用定义者的权限去运行。

2.角色在authid definer的存储过程中是disabled。

3.存储过程编译时角色也是disabled,并且不验证动态SQL的权限。(此次涉及问题)

4.以上也适用于函数、触发器,即命名的PL/SQL块。

参考:

http://blog.sina.com.cn/s/blog_7085382f01013q4h.html

https://www.linuxidc.com/Linux/2017-05/144173.htm

http://blog.itpub.net/26770925/viewspace-1442125/

【ORACLE】存储过程、触发器权限问题相关推荐

  1. oracle添加触发器权限,Oracle 'after create'触发器授予权限

    我有一个'after create on database'触发器,可以在特定模式中为新创建的表提供对不同Oracle角色的select访问 . 如果我执行一个 create table ... as ...

  2. oracle触发和存储过程,Oracle存储过程与触发器

    Oracle存储过程与触发器 存储过程 存储过程最直接的理解:就是保存了批量的sql(select,insert,if for),以后可以通过一个名字把这些批量的sql执行,使用存储过程在大批量数据查 ...

  3. oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解

    本文实例讲述了oracle 存储过程.函数和触发器用法.分享给大家供大家参考,具体如下: 一.存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数. 创建存储过程 用CR ...

  4. Oracle授权相关(Oracle 触发器授权、Oracle 存储过程授权、Oracle 表授权、Oracle 序列授权)

    原作者连接:https://www.cnblogs.com/lichuangblog/p/6892801.html grant给表赋权限: 1.grant 权限 on 表 to 用户. grant s ...

  5. oracle中存储过程可见权限,Oracle数据库存储过程与权限

    在执行存储过程时,我们可能会遇到权限问题 ● 定义者权限存储过程 ● 调用者权限存储过程 在数据库中创建存储过程时,定义者权限是缺省模式 当指定AUTHID CURRENT_USER关键字后,便是调用 ...

  6. oracle的系统和对象权限 与 Oracle 查看用户权限

    oracle的系统和对象权限 alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter a ...

  7. Oracle 把触发器说透

    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...

  8. oracle驱动权限如何修改,详解如何实现Oracle修改用户权限和角色

    pcMing工作室"YkX|;z%J"rD%S ------今天看了这篇文章 觉得对我们学习oracle 还是有很多帮助的,大家可以试着读读·······,qe'p"rr ...

  9. oracle 创建触发器_oracle创建触发器

    创建触发器 创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPD ...

  10. oracle数据库有哪些权限,ORACLE数据库中权限有哪些?

    1 权限 Oracle数据库有两种途径获得权限,它们分别为: ① DBA直接向用户授予权限. ② DBA将权限授予角色(一个命名的包含多个权限的集合),然后再将角色授予一个或多个用户. 使用角色能够更 ...

最新文章

  1. python苹果手机的api_Python中的api,API
  2. 透视表提取不反复记录(3)-每组最小值
  3. Python scrapy 动态传入自定义参数
  4. Swift中的模式分类
  5. 2021年信息系统项目管理师考试大纲
  6. 数据结构中缀表达式转后缀表达式与后缀表达式的求值实训报告_动图+源码,演示 Java 中常用数据结构执行过程及原理...
  7. AutoScaling 成本优化模式升级--混合实例策略
  8. iphone屏蔽系统更新_iOS13屏蔽系统更新升级教程
  9. emmc linux 识别分区_EMMC芯片电视主板直写厂家引导程序
  10. Spring Security的HTTP基本验证示例
  11. 用Java操作Office 2007
  12. 罗马数字转换python_阿拉伯数字转换成罗马数字
  13. 一行代码查看电脑Wifi密码
  14. catia如何单击停止捕获_CATIA打开文件时显示单击确定终止
  15. 什么是视频监控平台的平台对接
  16. SpringCloud平滑升级/优雅停机
  17. 坚持#第235天~哎呀,最近培训云计算忙得都把写博客的大事给忘了,赶快捡起来
  18. Spring+SpringMVC+Mybatis(开发必备技能)04、mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本、配套使用视频,100%运行成功
  19. 注册163VIP邮箱如何登陆?我邮件注册的163VIP邮箱不知道怎么登陆
  20. PVE+集客AC+K2T-AP

热门文章

  1. OCXO、VCXO、TCXO、DCXO、SPXO
  2. 天津室内设计培训班:0基础必知的5个室内设计原则
  3. 无锡室内设计培训:室内设计的程序是怎样的?
  4. java大学生网上请假管理系统
  5. 渗透工具sqlmap下载安装超详细教程Windows
  6. 程序员博客遭攻击,炸出华为云前员工吐槽自家业务;谷歌宣布推出第二个版本 Git 协议,带来显著的性能提升...
  7. Microsoft Excel 2010表最多容纳的行数
  8. MySQL 8.0踩的坑(3)
  9. 为什么不建议你给领导回复“收到”?
  10. 干货|4个全网最实用的OCR图片文字识别软件合集