怎么使用CONSTANT变量与INDEX BY数组
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍"怎么使用CONSTANT变量与INDEX BY数组",在日常操作中,相信很多人在怎么使用CONSTANT变量与INDEX BY数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2024年11月14日怎么使用CONSTANT变量与INDEX BY数组
这篇文章主要介绍"怎么使用CONSTANT变量与INDEX BY数组",在日常操作中,相信很多人在怎么使用CONSTANT变量与INDEX BY数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用CONSTANT变量与INDEX BY数组"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
我创建了如下包头:
CREATE OR REPLACE PACKAGE plch_pkg AUTHID DEFINERIS TYPE names_t IS TABLE OF VARCHAR2 (20) INDEX BY PLS_INTEGER;END plch_pkg;/
哪些选项在执行之后会显示"3"?
(A)
DECLARE l_names CONSTANT plch_pkg.names_t := plch_pkg.names_t ('Horton', 'Hears', 'A Who') ;BEGIN DBMS_OUTPUT.put_line (l_names.COUNT);END;/
SQL> DECLARE 2 l_names CONSTANT plch_pkg.names_t 3 := plch_pkg.names_t ('Horton', 'Hears', 'A Who') ; 4 BEGIN 5 DBMS_OUTPUT.put_line (l_names.COUNT); 6 END; 7 /DECLARE l_names CONSTANT plch_pkg.names_t := plch_pkg.names_t ('Horton', 'Hears', 'A Who') ;BEGIN DBMS_OUTPUT.put_line (l_names.COUNT);END;ORA-06550: 第 3 行, 第 10 列: PLS-00222: 在此范围中不存在名为 'NAMES_T' 的函数ORA-06550: 第 2 行, 第 14 列: PL/SQL: Item ignoredORA-06550: 第 5 行, 第 26 列: PLS-00320: 此表达式的类型声明不完整或格式不正确ORA-06550: 第 5 行, 第 4 列: PL/SQL: Statement ignoredSQL>
(B)
DECLARE l_names CONSTANT plch_pkg.names_t := plch_pkg.names_t () ;BEGIN l_names (1) := 'Horton'; l_names (2) := 'Hears'; l_names (3) := 'A Who'; DBMS_OUTPUT.put_line (l_names.COUNT);END;/
SQL> DECLARE 2 l_names CONSTANT plch_pkg.names_t 3 := plch_pkg.names_t () ; 4 BEGIN 5 l_names (1) := 'Horton'; 6 l_names (2) := 'Hears'; 7 l_names (3) := 'A Who'; 8 DBMS_OUTPUT.put_line (l_names.COUNT); 9 END; 10 /DECLARE l_names CONSTANT plch_pkg.names_t := plch_pkg.names_t () ;BEGIN l_names (1) := 'Horton'; l_names (2) := 'Hears'; l_names (3) := 'A Who'; DBMS_OUTPUT.put_line (l_names.COUNT);END;ORA-06550: 第 3 行, 第 29 列: PLS-00222: 在此范围中不存在名为 'NAMES_T' 的函数ORA-06550: 第 2 行, 第 14 列: PL/SQL: Item ignoredORA-06550: 第 5 行, 第 4 列: PLS-00320: 此表达式的类型声明不完整或格式不正确ORA-06550: 第 5 行, 第 4 列: PL/SQL: Statement ignoredORA-06550: 第 6 行, 第 4 列: PLS-00320: 此表达式的类型声明不完整或格式不正确ORA-06550: 第 6 行, 第 4 列: PL/SQL: Statement ignoredORA-06550: 第 7 行, 第 4 列: PLS-00320: 此表达式的类型声明不完整或格式不正确ORA-06550: 第 7 行, 第 4 列: PL/SQL: Statement ignoredORA-06550: 第 8 行, 第 26 列: PLS-00320: 此表达式的类型声明不完整或格式不正确ORA-06550: 第 8 行, 第 4 列: PL/SQL: Statement ignoredSQL>
(C)
CREATE OR REPLACE FUNCTION plch_dr_seuss_names RETURN plch_pkg.names_tIS l_return plch_pkg.names_t;BEGIN l_return (1) := 'Horton'; l_return (2) := 'Hears'; l_return (3) := 'A Who'; RETURN l_return;END plch_dr_seuss_names;/DECLARE l_names CONSTANT plch_pkg.names_t := plch_dr_seuss_names () ;BEGIN DBMS_OUTPUT.put_line (l_names.COUNT);END;/
SQL> CREATE OR REPLACE FUNCTION plch_dr_seuss_names 2 RETURN plch_pkg.names_t 3 IS 4 l_return plch_pkg.names_t; 5 BEGIN 6 l_return (1) := 'Horton'; 7 l_return (2) := 'Hears'; 8 l_return (3) := 'A Who'; 9 RETURN l_return; 10 END plch_dr_seuss_names; 11 /Function createdSQL> DECLARE 2 l_names CONSTANT plch_pkg.names_t 3 := plch_dr_seuss_names () ; 4 BEGIN 5 DBMS_OUTPUT.put_line (l_names.COUNT); 6 END; 7 /3PL/SQL procedure successfully completedSQL>
(D)
CREATE OR REPLACE FUNCTION plch_dr_seuss_names ( name1_in IN VARCHAR2, name2_in IN VARCHAR2, name3_in IN VARCHAR2) RETURN plch_pkg.names_tIS l_return plch_pkg.names_t;BEGIN l_return (1) := name1_in; l_return (2) := name2_in; l_return (3) := name3_in; RETURN l_return;END plch_dr_seuss_names;/DECLARE l_names CONSTANT plch_pkg.names_t := plch_dr_seuss_names ('Horton', 'Hears', 'A Who') ;BEGIN DBMS_OUTPUT.put_line (l_names.COUNT);END;/
SQL> CREATE OR REPLACE FUNCTION plch_dr_seuss_names ( 2 name1_in IN VARCHAR2 3 , name2_in IN VARCHAR2 4 , name3_in IN VARCHAR2) 5 RETURN plch_pkg.names_t 6 IS 7 l_return plch_pkg.names_t; 8 BEGIN 9 l_return (1) := name1_in; 10 l_return (2) := name2_in; 11 l_return (3) := name3_in; 12 RETURN l_return; 13 END plch_dr_seuss_names; 14 /Function createdSQL> DECLARE 2 l_names CONSTANT plch_pkg.names_t 3 := plch_dr_seuss_names ('Horton', 'Hears', 'A Who') ; 4 BEGIN 5 DBMS_OUTPUT.put_line (l_names.COUNT); 6 END; 7 /3PL/SQL procedure successfully completedSQL>
答案CD. ORACLE只对嵌套表(NESTED TABLE)和可变数组(VARRAY)提供构造函数(constructor function), ASSOCIATED ARRAY (即INDEX BY表)则没有这个构造函数,必须采用自定义函数。常量在声明的部分必须赋值,不能够在块中赋值。
到此,关于"怎么使用CONSTANT变量与INDEX BY数组"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
数组
函数
格式
类型
表达式
变量
学习
更多
范围
帮助
实用
接下来
常量
文章
方法
理论
知识
答案
篇文章
网站
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全之信息收集相关汇总
浙江网络技术分类经验丰富
战术小队没有官方服务器
计算机网络技术中专
高科技互联网语音
c语言如何操作数据库
西安网络安全学院导师
ip网络技术中兴
湖北网络技术开发目的
mc开服务器手机
房卡炸金花软件开发
深圳卓派乐网络技术
网络安全和信息化版面
2022网络安全宣传周时间
音乐工作站服务器
阿里云服务器放在哪了
58软件开发待遇
网络安全月宣传简报
常见的数据库接口技术有()
苹果公司的软件开发在哪里
软件开发后需要改进费用怎么算
软件开发属于基础研究吗
企业微信设置服务器什么意思
网络技术工程师考试有机什么
软件开发竞业限制
郑州办公系统软件开发价格表
北京多媒体软件开发公司
网络安全售前职业
三楂红网络技术有限公司
网络安全事件指什么