首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【DB笔试面试447】AUTHID CURRENT_USER的作用是什么?

l 在调用者权限下,当前用户的权限为当前所拥有的权限(含角色)。 3、执行的效率不同 l 在定义者权限下,过程被静态编译静态执行,所执行SQL语句在共享区池中是可被共享使用的。...l 在调用者权限下,过程静态编译,但动态执行,虽然执行的语句相同,但不同用户执行,其SQL语句在共享池中并不能共享。...为PL/SQL启用调用者权限的语法是: [AUTHID { CURRENT_USER|DEFINER}] 如果忽略AUTHID子句,那么默认的是定义者权限。...> exec p_create_table begin p_create_table; end; ORA-01031: 权限不足 ORA-06512: 在 "LHR.P_CREATE_TABLE", line...> exec p_create_table; PL/SQL procedure successfully completed Executed in 0.078 seconds About Me:小麦苗

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【OCP最新题库解析(052)--题34】You want to audit update statements that

    要扩展数据库审计,可使用基于值的审计,利用数据库触发器(事件驱动的PL/SQL 构造)来捕获更改的值。...只在标准数据库审计捕获的信息不足的情况下,才使用基于值的审计(value-based auditing)。 基于值的审计由用户或第三方代码实施。...Oracle DB提供了可用来构建基于值的审计系统的 PL/SQL 构造。基于值的审计的关键部分是审计触发器,这是一个单纯为了捕获审计信息而构造的PL/SQL 触发器。...默认情况下,如果其中任何一列出现在SQL语句中,就会审计该语句。...可使用DBMS_FGA PL/SQL程序包来创建对目标表或视图的审计策略。如果查询块中返回的任何行与审计列和指定的审计条件相匹配,则审计事件会导致在审计线索中创建并存储审计记录。

    1K30

    PLSQL --> 函数

    语句中直接调用函数 d.使用dbms_output调用函数 注:函数在调用的时候需要按位置指定参数,没有存储过程参数传递灵活 必须具有execute 函数的权限 2.函数在SQL中调用的主要场合...条件表达式where, having子句中 c. connect by , start with ,order by 以及group by 子句中 d. insert 命令的values子句中 f...SQL语句中调用的函数只能使用SQL支持的标准数据类型,不能使用PL/SQL特有的类型,如boolean,table,record等 d....CONNECT BY PRIOR) 有关PL/SQL请参考 PL/SQL --> 语言基础 PL/SQL --> 流程控制 PL/SQL --> 存储过程 PL/SQL --> 函数 PL/SQL...--> 游标 PL/SQL -->隐式游标(SQL%FOUND) PL/SQL --> 异常处理(Exception) PL/SQL --> PL/SQL记录 PL/SQL --> 包的创建与管理 PL

    90120

    Oracle PLSQL例14:比较运算符BOOLEAN表达式

    Oracle PL/SQL例14:BOOLEAN表达式 BOOLEAN表达式介绍 BOOLEAN表达式是PL/SQL语言中很常用的一种表达式类型,它用于比较两个条件,来确定其是否为真或假。...在PL/SQL中,BOOLEAN表达式可以用于条件判断或在循环语句中作为终止条件。其语法非常简单,只需要使用逻辑运算符对两个条件进行比较。...当BOOLEAN表达式的结果为真时,PL/SQL会执行将在THEN子句中指定的操作,否则执行ELSE子句中指定的操作(如果有的话)。...例如,下面的PL/SQL代码使用BOOLEAN表达式作为IF语句的条件: IF salary > 5000 AND job_title = 'MANAGER' THEN bonus := 1000...在PL/SQL中,BOOLEAN表达式还可以用于循环语句中的终止条件。

    54241

    oracle存储过程中使用create table as

    报错PLS-00103 是因为存储过程执行DDL语句是需要用EXECUTE IMMEDIATE调用sql,编译成功。 测试报错ORA-01031:权限不足。...image.png 是因为默认情况下,在调用存储过程用户的角色是不起作用的,即在执行存储过程时只有Public权限。...方法一 使解析环境为调用该存储过程的用户所在的Schema,执行该存储过程时拥有调用者的所有权限,即调用者的Role是有效的。...方法二 CREATE TABLE想使用CREATE ANY TABLE权限,而CREATE ANY TABLE权限来自DBA角色,默认情况下,虽然在会话环境中可见,可以显示地将CREATE ANY TABLE...权限授予用户就可以了 GRANT CREATE ANY TABLE TO 登录用户; 但是在包中的存储过程是不能用方法一 会报错误:PLS-00157: AUTHID 只允许在方案级程序中使用

    3.4K20

    游标和触发器

    例如:PL/SQL 块。 触发对象:包括表、视图、模式、数据库。只有在这些对象上发生了符合触发条件的触发事件,才会执行触发操作。 触发条件:由WHEN子句指定一个逻辑表达式。...REFERENCING 子句说明相关名称,在行触发器的PL/SQL块和WHEN 子句中可以使用相关名称参照当前的新、旧列值,默认的相关名称分别为OLD和NEW。...触发器的PL/SQL块中应用相关名称时,必须在它们之前加冒号(:),但在WHEN子句中则不能加冒号。 WHEN 子句说明触发约束条件。...REFERENCING 子句说明相关名称,在行触发器的PL/SQL块和WHEN 子句中可以使用相关名称参照当前的新、旧列值,默认的相关名称分别为OLD和NEW。...触发器的PL/SQL块中应用相关名称时,必须在它们之前加冒号(:),但在WHEN子句中则不能加冒号。 WHEN 子句说明触发约束条件。

    6310
    领券