iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么理解数据库的定义者权限与使用者权限
  • 188
分享到

怎么理解数据库的定义者权限与使用者权限

2024-04-02 19:04:59 188人浏览 薄情痞子
摘要

本篇内容介绍了“怎么理解数据库的定义者权限与使用者权限”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我在H

本篇内容介绍了“怎么理解数据库的定义者权限与使用者权限”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

我在HR模式下运行了下列语句(没有发生错误):

CREATE TABLE plch_parts
(
   partnum    NUMBER
, partname   VARCHAR2 (50)
)
/
BEGIN
   INSERT INTO plch_parts
        VALUES (123, 'Steering Wheel');
   INSERT INTO plch_parts
        VALUES (456, 'Brake Pedal');
   COMMIT;
END;
/
CREATE OR REPLACE TYPE plch_numbers_t IS TABLE OF NUMBER
/
CREATE OR REPLACE FUNCTioN plch_func
   RETURN plch_numbers_t
   AUTHID CURRENT_USER
IS
   l_numbers   plch_numbers_t;
BEGIN
   SELECT partnum
     BULK COLLECT INTO l_numbers
     FROM plch_parts;
   RETURN l_numbers;
END;
/
CREATE OR REPLACE VIEW plch_func_v
AS
   SELECT COLUMN_VALUE partnum FROM TABLE (plch_func ())
/
GRANT SELECT ON plch_func_v TO scott
/
GRANT EXECUTE ON plch_func TO scott
/

然后我又连接到SCOTT模式并执行如下语句:

CREATE TABLE plch_parts
(
   partnum    NUMBER
, partname   VARCHAR2 (50)
)
/
BEGIN
   INSERT INTO plch_parts
        VALUES (100, 'Tire');
   INSERT INTO plch_parts
        VALUES (101, 'Battery');
   COMMIT;
END;
/

哪些选项显示了下列语句块执行后屏幕上的输出结果?

BEGIN
   DBMS_OUTPUT.put_line ('Two Cursor For Loops....');
   FOR rec IN (  SELECT p.partname
                   FROM TABLE (hr.plch_func) v, plch_parts p
                  WHERE v.column_value = p.partnum
               ORDER BY p.partnum)
   LOOP
      DBMS_OUTPUT.put_line (rec.partname);
   END LOOP;
   FOR rec IN (  SELECT p.partname
                   FROM hr.plch_func_v v, plch_parts p
                  WHERE v.partnum = p.partnum
               ORDER BY p.partnum)
   LOOP
      DBMS_OUTPUT.put_line (rec.partname);
   END LOOP;
END;
/

(A)

Two Cursor For Loops....
Steering Wheel
Brake Pedal

(B)

An unhandled exception:
PLS-00158: AUTHID CURRENT_USER subprograms not allowed in views

(C)

Two Cursor For Loops....
Tire
Battery

(D)

Two Cursor For Loops....
Tire
Battery
Steering Wheel
Brake Pedal

(E)

Two Cursor For Loops....
Tire
Battery
Tire
Battery

实测答案C

sql> BEGIN
  2     DBMS_OUTPUT.put_line ('Two Cursor For Loops....');
  3  
  4     FOR rec IN (  SELECT p.partname
  5                     FROM TABLE (yoga.plch_func) v, plch_parts p
  6                    WHERE v.column_value = p.partnum
  7                 ORDER BY p.partnum)
  8     LOOP
  9        DBMS_OUTPUT.put_line (rec.partname);
 10     END LOOP;
 11  
 12     FOR rec IN (  SELECT p.partname
 13                     FROM yoga.plch_func_v v, plch_parts p
 14                    WHERE v.partnum = p.partnum
 15                 ORDER BY p.partnum)
 16     LOOP
 17        DBMS_OUTPUT.put_line (rec.partname);
 18     END LOOP;
 19  END;
 20  /
Two Cursor For Loops....
Tire
Battery
PL/SQL procedure successfully completed
SQL>

答案C.

一个定义为调用者权限(AUTHID CURRENT_USER)的函数,如果它在一个VIEW或者触发器中被调用,这时是按照定义者的权限来运作的,所以你通过VIEW看到的将是OWNER的数据,而不是当前用户的数据。

“怎么理解数据库的定义者权限与使用者权限”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么理解数据库的定义者权限与使用者权限

本文链接: https://www.lsjlt.com/news/63521.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么理解数据库的定义者权限与使用者权限
    本篇内容介绍了“怎么理解数据库的定义者权限与使用者权限”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我在H...
    99+
    2024-04-02
  • Oracle中定义者权限和调用者权限的示例分析
    这篇文章给大家分享的是有关Oracle中定义者权限和调用者权限的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。定义者权限:定义者权限指使用它所有者的权限,而不是当前用户来...
    99+
    2024-04-02
  • MySQL数据库用户权限管理
    目录1、用户管理1.1、创建用户1.2、删除用户1.3、修改用户密码2、权限管理2.1、授予权限 grant2.2、取消权限 revoke2.3、刷新权限 flush3、密码丢失的解...
    99+
    2024-04-02
  • postgresql数据库权限怎么设置
    在postgresql中,权限可以通过以下几种方式进行设置: 使用GRANT命令授予用户或角色特定的权限,比如SELECT...
    99+
    2024-04-08
    postgresql
  • 如何理解MySQL数据库5层权限
    如何理解MySQL数据库5层权限,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概述在MySQL中,如何查看一个用户被授予了那些权限呢 &nbs...
    99+
    2024-04-02
  • MYSQL数据库管理之权限管理解读
    目录一、mysql权限简介1.MYSQL到底都有哪些权限呢?2.MYSQL的权限如何分布二、MYSQL权限经验原则三、MYSQL权限实战1.GRANT命令使用说明2.创建一个超级用户3.创建一个网站用户(程序用户)4.创...
    99+
    2023-03-20
    MYSQL数据库管理 MYSQL权限管理 MYSQL权限
  • mysql怎么赋予用户数据库权限
    要赋予用户数据库权限,可以使用以下步骤: 登录MySQL数据库服务器,可以使用如下命令: mysql -u root -p ...
    99+
    2024-04-12
    mysql 数据库
  • oracle数据库怎么修改用户权限
    要修改Oracle数据库用户的权限,可以使用以下命令:1. 连接到数据库:```sqlsqlplus / as sysdba```2...
    99+
    2023-08-30
    oracle数据库
  • MySQL数据库用户权限如何管理
    这篇文章主要介绍“MySQL数据库用户权限如何管理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL数据库用户权限如何管理”文章能帮助大家解决问题。1、用户管理mysql的用户信息保存在了my...
    99+
    2023-07-02
  • 数据库 之 MySQL用户和权限管理
    1  概述MySQL用户和权限管理 遵循最小权限授权法则,保证系统的安全性本文主要讲解关于用户MySQL用户和权限管理的相关概念和操作3  MySQL权限类别库级别:对某些库拥有对应的权...
    99+
    2024-04-02
  • 用phpmyadmin怎么设置数据库用户权限
    小编给大家分享一下用phpmyadmin怎么设置数据库用户权限,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!在左侧选择要设置权限的数据库,并点击权限在弹出的窗口单击“编辑权限”进入权限设置页面...
    99+
    2024-04-02
  • MYSQL数据库管理中怎么实现权限管理
    本篇文章为大家展示了MYSQL数据库管理中怎么实现权限管理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 MYSQL权限简介关于mysql的权限简单的理解就是m...
    99+
    2024-04-02
  • SQL拼接与数据库权限管理的方法是什么
    SQL拼接是指在SQL语句中通过连接字符拼接多个字符串或表达式,常用于动态生成SQL语句的情况。在SQL中,可以使用拼接符号(如“+...
    99+
    2024-04-29
    SQL
  • MYSQL数据库管理之权限管理怎么配置
    这篇“MYSQL数据库管理之权限管理怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-03-20
    mysql
  • 怎么设计数据库及授予权限
    小编给大家分享一下怎么设计数据库及授予权限,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在数据库中...
    99+
    2024-04-02
  • MySQL用户与权限的管理详解
    本文实例讲述了MySQL用户与权限的管理。分享给大家供大家参考,具体如下: 用户连接到MySQL,可以做各种查询,这都是MySQL用户与权限功能在背后维持着操作。 用户与数据库服务器交互数据,分为两个阶...
    99+
    2024-04-02
  • 帝国cms怎么修改数据库权限
    帝国cms修改数据库权限的步骤是:1、登录数据库管理工具;2、选择帝国CMS所使用的数据库;3、寻找或导航到"权限"或"用户"选项卡;4、查找用户,并选择编辑或修改权限选项;5、在权限设置中,为数据库...
    99+
    2023-08-02
  • 阿里云数据库权限管理命令详解
    在阿里云上使用数据库时,对权限的管理是非常重要的。本文将详细讲解如何使用命令查看阿里云数据库权限。 阿里云数据库是阿里云提供的一种数据库服务,可以帮助用户在云端快速搭建和管理数据库。在使用阿里云数据库时,对权限的管理是非常重要的。本文将详细...
    99+
    2023-11-03
    阿里 详解 命令
  • 怎么在SQL Server中处理数据库角色权限
    这期内容当中小编将会给大家带来有关怎么在SQL Server中处理数据库角色权限,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。    1:遍...
    99+
    2024-04-02
  • Linux的UMASK权限怎么使用
    本篇内容主要讲解“Linux的UMASK权限怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux的UMASK权限怎么使用”吧!在linux系统中,我们创建一个新的文件或者目录的时候,...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作