往其他用户写入select出来的数据别忘记grant授权

简介:

往其他用户写入数据别忘记授权:
事件,应用提出需求要往其他用户写数据,由于在同一个库,没必要启用DBLINK,而直接在表名前面加上要插入用户的用户名。
   Insert Into TMP_ADC_ENTRY_CONTAINER (DATA_IMPORT_TIME, ENTRY_ID, CONTAINER_ID) 
       Select to_char(end_time, 'yyyymmddHH24mi'), ENTRY_ID, CONTAINER_ID From ADC_ENTRY_CONTAINER;

却一直报Error: PL/SQL: ORA-01031: insufficient privileges错误
Compilation errors for PROCEDURE ADC.PROC_EXPORT_CONTAINERS

Error: PL/SQL: ORA-01031: insufficient privileges
Line: 151


而单独测试
   Insert Into TMP_ADC_ENTRY_CONTAINER (DATA_IMPORT_TIME, ENTRY_ID, CONTAINER_ID) values(sysdate,'1','2')却正常,
百思不得其解,最后想象是否是访问远程表的权限有问题,尝试如下授权:

sys用户下grant select,insert on EPORT.TMP_ADC_ENTRY_CONTAINER to ADC;

授权后执行改语句成功



本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/531989,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 关系型数据库 MySQL
给用户赋予权限GRANT语句
【6月更文挑战第20天】给用户赋予权限GRANT语句。
78 1
|
6月前
|
安全 关系型数据库 数据库
postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别
postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别
301 0
|
SQL 关系型数据库 Shell
postgres的用户和角色
为了引导数据库系统,一个刚刚被初始化好的系统总是包含一个预定义角色。
|
存储 关系型数据库 MySQL
MySQL 查看用户授予的权限
在MySQL中,如何查看一个用户被授予了那些权限呢? 授予用户的权限可能分全局层级权限、数据库层级权限、表层级别权限、列层级别权限、子程序层级权限。具体分类如下:     全局层级   全局权限适用于一个给定服务器中的所有数据库。
2145 0