怎么使用CONSTANT变量与INDEX BY数组
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要介绍"怎么使用CONSTANT变量与INDEX BY数组",在日常操作中,相信很多人在怎么使用CONSTANT变量与INDEX BY数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2025年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安全错误
数据库的锁怎样保障安全
数据库索引详解
对网络安全产业的理解
交大网络技术 第一作业
网络安全违章
生态服务器传感器的服务包括
万博网络安全科技馆
宜昌跑腿app软件开发费用
服务器管理员的视频
常州电子网络技术收费
数据模型是数据库系统核心
网络安全证书不被信任
ktv互动游戏软件开发
数据库如何调用存储文件资料
联想服务器管理口账户被锁定
虹口区会议视频系统服务器
数据库如何做迁移
个人网络安全的相关知识
安全技术人员网络安全
戴尔r620服务器主板电路图
获取form数据到数据库
电信备用dns服务器
华农图书馆的数据库
网络安全问题统计
数据存储服务器管理制度
车上网络技术试题
公安网网络安全保卫知识试题
新炬网络技术股份有限公司上会
普陀区信息软件开发采购
江西智运九州互联网科技
网络技术认识总结和分析