千家信息网

怎么使用数据库新功能PL/SCOPE

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"怎么使用数据库新功能PL/SCOPE",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么使用数据库新功能PL/SCOPE"吧!我在会话中打
千家信息网最后更新 2026年11月02日怎么使用数据库新功能PL/SCOPE

本篇内容主要讲解"怎么使用数据库新功能PL/SCOPE",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么使用数据库新功能PL/SCOPE"吧!

我在会话中打开PL/Scope:

ALTER SESSION SET plscope_settings='identifiers:all'/

然后我创建了如下的表和包:

CREATE TABLE plch_stuff(   amount   NUMBER, rating   INTEGER)/CREATE OR REPLACE PACKAGE plch_pkgIS   PROCEDURE do_stuff;END plch_pkg;/CREATE OR REPLACE PACKAGE BODY plch_pkg.......END plch_pkg;/

噢,抱歉,我不能让你看到包体的代码!请继续....

我对PL/Scope的USER_IDENTIFIERS视图进行如下查询:

SELECT type, usage  FROM user_identifiersWHERE object_name = 'PLCH_PKG'ORDER BY 1, 2/

我看到这些结果:

TYPE               USAGE------------------ -----------FUNCTION           CALL      ITERATOR           DECLARATIONITERATOR           REFERENCE  LABEL              DECLARATIONPACKAGE            DECLARATIONPACKAGE            DEFINITIONPROCEDURE          DECLARATIONPROCEDURE          DEFINITIONVARIABLE           DECLARATIONVARIABLE           REFERENCE  VARIABLE           REFERENCE

下面关于plch_pkg包的哪些句子是正确的?

(A)

包体里面没有任何私有(PRIVATE)的子程序。

(B)

do_stuff过程里面可能包含一个FORALL语句。

(C)

包体里面必须包含一个PACKAGE级别的变量(即不是在do_stuff里面声明的)。

(D)

do_stuff过程必须包含一个GOTO语句。
2011-11-9答案AB.(A)包体里面没有任何私有(PRIVATE)的子程序。对应每个包里定义的过程你会看到两条记录:PROCEDURE          DECLARATIONPROCEDURE          DEFINITION对应每个包里定义的函数你会看到两条记录:FUNCTION           DECLARATIONFUNCTION           DEFINITION结果里面只有这样一对:PROCEDURE          DECLARATIONPROCEDURE          DEFINITION它就是对应于do_stuff过程,不再有其他子程序了。(B)do_stuff过程里面可能包含一个FORALL语句。一个FORALL语句就像一个FOR循环,定义并且使用隐性游标。输出里这两行:ITERATOR           DECLARATIONITERATOR           REFERENCE  有可能对应FORALL语句。(C)包体里面必须包含一个PACKAGE级别的变量(即不是在do_stuff里面声明的)。这仅仅是"可能"而非"必须"。我们知道包体里面某处定义了一个变量,根据是这两行输出:VARIABLE           DECLARATIONVARIABLE           REFERENCE但这个变量可能在do_stuff内部定义。为了确定这个变量是不是PACKAGE级的,你必须知道所有程序单元的最小行号,然后看看这个变量定义行号是否在此之前。(D)do_stuff过程必须包含一个GOTO语句。输出里面有这一行:LABEL              DECLARATION因此我们知道有一个标号被声明了,它可能出现在程序某处,像这样:<>但是输出里面并没有指示这个标号被引用, 否则的话我们应该看到另外一行输出:LABEL              REFERENCE(newkid加注:即使看到标号被引用,也不意味着GOTO, 比如退出循环的EXIT也可以引用标号)

到此,相信大家对"怎么使用数据库新功能PL/SCOPE"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

变量 语句 过程 输出 标号 数据 数据库 新功能 子程序 一行 内容 是在 程序 级别 结果 行号 学习 循环 查询 私有 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网 科技集团 互联网科技工作委员会毛军 青岛互联网科技公司 互联网 的科技创新 互联网科技公司有哪些 左右互联网络科技 济南和联互联网科技有限公司 开启互联网科技时代小说 成都玖崟互联网科技有限公司乐商圈怎么样 深圳国际航运科技和互联网 随着互联网科技发展 互联网新科技动漫ppt素材 云南省自由互联网科技有限公司 本届互联网大会上的黑科技 互联网金融运营模式中的金融科技 互联网科技职业技能培训学校 美国五大互联网科技公司市值多少 悟空问答互联网科技 三亚科技创新互联网基地 互联网企业和网络科技有限公司 咖啡 广州紫鲸互联网科技有限公司 金融科技创新监管互联网金融 杭州互联网科技公司 上海喔噻互联网科技 云创客互联网科技公司 本届互联网博览会上的黑科技 互联网高科技行业有哪些企业 互联网科技大佬云集 优雇互联网科技有限公司
0