存储过程中动态SQL权限不足
在System账号下执行以下存储过程出现权限不足错误 create ?procedure ?immediateSQL begin executive immediate grant select on ?scott.emp to ?infodata; end; begin immediateSQL; end; 但是直接在SQL Plus下直接执行以下语句没有任何问题 begin executiv
在System账号下执行以下存储过程出现权限不足错误
create ?procedure ?immediateSQL
begin
executive immediate ‘grant select on ?scott.emp to ?infodata’;
end;
begin
immediateSQL;
end;
但是直接在SQL Plus下直接执行以下语句没有任何问题
begin
executive immediate ‘grant select on ?scott.emp to ?infodata’;
end;
查阅资料发现存储过程分为两种,即DR(Definer’s Rights ) Procedure和IR(Invoker’s Rights ) Procedure。
如下定义执行后就没有问题
create ?procedure ?immediateSQL ?AUTHID CURRENT_USER
begin
executive immediate ‘grant select on ?scott.emp to ?infodata’;
end;
存储过程的名称解析环境 存储过程的执行权限
这两个问题可以在定义存储过程时,通过指定AUTHID 属性,即定义DR Procedure 和IR Procedure来解决。
DR Procedure
1、定 义
CREATE OR REPLACE procedure DEMO(ID in NUMBER) AUTHID DEFINER as
BEGIN
END;
2、名称解析环境为定义该存储过程的用户所在的Schema。
3、执行该存储过程时只有Public权限。
IR Procedure
1、定 义
CREATE OR REPLACE procedure DEMO(ID in NUMBER) AUTHID CURRENT_USER as
BEGIN
END;
2、名称解析环境为调用该存储过程的用户所在的Schema。
3、执行该存储过程时拥有调用者的所有权限,即调用者的Role是有效的。
原文地址:存储过程中动态SQL权限不足, 感谢原作者分享。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

小红书作为一个内容丰富的社交电商平台,吸引了大量用户入驻。对于想要在小红书上开展多方面业务的人来说,拥有多个账号显得尤为重要。那么,小红书怎么拥有多个账号呢?如何才能让这些账号拥有流量呢?本文将详细解析这些问题,为你提供有益的指导。一、小红书怎么拥有多个账号?注册小红书账号时,可以选择使用不同的手机号码或邮箱来注册多个账号,以便拥有多个账号。实名认证是提高账号安全性和信誉度的有效举措。建议对每个账号都进行实名认证,这样账号将更加具有权威和可信度。3.完善资料:完善每个账号的资料,包括个人主页、头

谷歌浏览器是一款很多人都在使用的网页浏览工具,有些用户为了使用起来更加方便,想要先登录谷歌账号,但是却出现账户无法登录的提示,关于这个问题,很多用户都不清楚要如何解决,那么今日小编就来和各位分享完整的解决方法,希望今天软件教程内容可以给广大用户们带来帮助。 Google帐户显示无法登录解决方法: 1、点击桌面一个浏览器,打开之后看到这个样子。 2、此时如果弹出登录,点击它,如看不到的点击右上角。 3、点击登录,然后输入你的账号,账号不用输入@之后的一节,点击下一步。 4、输入密码,

可以让用户对系统进行更深入的操作和定制,root权限是一种管理员权限,在Android系统中。获取root权限通常需要一系列繁琐的步骤,对于普通用户来说可能不太友好、然而。通过一键开启root权限,本文将介绍一种简单而有效的方法,帮助用户轻松获取系统权限。了解root权限的重要性及风险拥有更大的自由度,root权限可以让用户完全控制手机系统。加强安全控制等,定制主题、用户可以删除预装应用。比如误删系统文件导致系统崩溃,过度使用root权限也存在风险、不慎安装恶意软件等,然而。在使用root权限前

HQL和SQL在Hibernate框架中进行比较:HQL(1.面向对象语法,2.数据库无关的查询,3.类型安全),而SQL直接操作数据库(1.与数据库无关的标准,2.可执行复杂查询和数据操作)。

在数字化时代,小红书已成为许多人分享生活、发现好物的平台。随着时间的推移,我们可能需要更改账号的手机号码。那么,如何更改小红书的手机号呢?一、小红书账号怎么改手机号?1.登录小红书账号,进入“我的”页面。2.点击右上角的“...”,选择“设置”。3.在设置页面,找到“账号与安全”选项,点击进入。4.在账号与安全页面,找到“手机号码”选项,点击进入。5.此时,页面会显示当前手机号码,点击“更换手机号码”。6.输入新的手机号码,接收验证码,并填写。7.设置新的密码,确保账号安全。8.完成上述步骤后,

小红书作为一款融合社区、内容和电商的平台,吸引了众多创作者和用户的关注。有些用户想要拥有两个小红书账号,以便更好地管理和运营不同类型的内容。本文将探讨如何创建两个小红书账号,并探讨这种做法对创作者的潜在益处。一、怎么拥有两个小红书账号?注册新账号很简单,只需在手机应用商店下载小红书APP,然后根据提示填写相关信息并设置好昵称、头像和密码即可。2.登录原账号:在注册新账号后,您需要退出小红书APP,然后重新登录您原有的账号。3.切换账号:在小红书APP中,点击右下角的“我的”,然后点击头像,选择“

在创建虚拟机时,系统会要求您选择磁盘类型,您可以选择固定磁盘或动态磁盘。如果您选择了固定磁盘,后来意识到需要动态磁盘,或者相反,该怎么办?好!你可以把一种转换成另一种。在这篇文章中,我们将看到如何将VirtualBox固定磁盘转换为动态磁盘,反之亦然。动态磁盘是一种虚拟硬盘,它最初具有较小的大小,随着您在虚拟机中存储数据,其大小会相应增长。动态磁盘在节省存储空间方面非常高效,因为它们只占用所需的主机存储空间。然而,随着磁盘容量的扩展,可能会稍微影响计算机的性能。固定磁盘和动态磁盘是虚拟机中常用的

Oracle和DB2是两个常用的关系型数据库管理系统,它们都有自己独特的SQL语法和特点。本文将针对Oracle和DB2的SQL语法进行比较与区别,并提供具体的代码示例。数据库连接在Oracle中,使用以下语句连接数据库:CONNECTusername/password@database而在DB2中,连接数据库的语句如下:CONNECTTOdataba
