`
Supanccy2013
  • 浏览: 223786 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

plsql-集合-关联数组(下标为数字、字符串)

阅读更多
--*******集合1--关联数组(下标为数字类型)
/*
plsql集合类型有三种:下面是第一种:关联数组
*/
declare
 --定义一个数组类型
 --mytable:自己定义的类型名字
 --varchar2:类型mytable中元素的类型
 --binary_integer:下标索引的数据类型
 type mytable is table of varchar2(1000) index by binary_integer;
 v_mytable mytable;  --用刚创建的类型,定义一个变量
begin
 v_mytable(-1) := '河南省汝州市';
 v_mytable(0)  := '的';
 v_mytable(1)  := 'S'; --设定下标为1的元素为“chen” 注意元素的下标无限制,可以为负数
 v_mytable(2)  := 'U';
 v_mytable(3)  := 'P';
 v_mytable(4)  := 'A';
 v_mytable(5)  := 'N';
 dbms_output.put_line('数组元素的总数是:' ||  v_mytable.count);
 --注意first,last只是取元素的下标值,并不是取元素的值,如下:
 dbms_output.put_line('第一个元素下标是:' ||  v_mytable.first || '--第一个元素是:' || v_mytable(v_mytable.first));
 dbms_output.put_line('最后一个元素下标是:' ||  v_mytable.last || '---最后一个元素是:' || v_mytable(v_mytable.last));
 
 --for循环取数组中的值
 for v_count in v_mytable.first..v_mytable.last  loop
   dbms_output.put_line(v_mytable(v_count));
 end loop;
end;


输出:
数组元素的总数是:7
第一个元素下标是:-1--第一个元素是:河南省汝州市
最后一个元素下标是:5---最后一个元素是:N
河南省汝州市

S
U
P
A
N

PL/SQL 过程已成功完成。


--*******集合2--关联数组(下标为字符串类型)
/*
这种类型相当于java中的map  键-值对
*/
declare 
  type string_table is table of varchar2(30) index by varchar2(30);
  v_mytable string_table;
  v_record emp%rowtype;
  cursor c is select ename,job from emp;
  keyTemp varchar2(30); --集合中存放键的临时变量
begin
  --读取emp表中的前三条记录,存储在集合v_mytable中,最后遍历该集合。
  for c_temp in c  loop
      v_mytable(c_temp.ename) := c_temp.job;
  end loop;
  dbms_output.put_line(v_mytable.count); --集合中元素(键值对)总数
  dbms_output.put_line(v_mytable.first); --集合中第一个元素的键
  dbms_output.put_line(v_mytable.last);  --集合中最后一个元素的键
  
  --//遍历
  keyTemp = v_mytable.first;     --取集合中第一个键值对的键赋给临时变量
  while (keyTemp is not null) loop --如果第一个元素的键不为空进行循环
    dbms_output.put_line('键为: ' || keyTemp || '  值为:' || v_mytable(keyTemp));
    keyTemp := v_mytable.next(keyTemp);
  end loop;
end;
  

输出为:
14
ADAMS
WARD
键为: ADAMS  值为:CLERK
键为: ALLEN  值为:SALESMAN
键为: BLAKE  值为:MANAGER
键为: CLARK  值为:MANAGER
键为: FORD  值为:ANALYST
键为: JAMES  值为:CLERK
键为: JONES  值为:MANAGER
键为: KING  值为:PRESIDENT
键为: MARTIN  值为:SALESMAN
键为: MILLER  值为:CLERK
键为: SCOTT  值为:ANALYST
键为: SMITH  值为:CLERK
键为: TURNER  值为:SALESMAN
键为: WARD  值为:SALESMAN

PL/SQL 过程已成功完成。
分享到:
评论

相关推荐

    plsql-vf-dbfodbc.rar

    标题 "plsql-vf-dbfodbc.rar" 暗示了这个压缩包与PL/SQL(Oracle数据库的编程环境)以及Visual FoxPro(VFP)数据库系统有关,特别是涉及到在PL/SQL环境中通过ODBC(Open Database Connectivity)驱动程序访问DBF...

    plsql-web.rar--plsql-web.rar

    Web版的PLSQL工具,如"plsql-web.rar",旨在提供一种通过Web界面来远程访问和管理Oracle数据库的解决方案。 "plsql-web.rar"可能是一个包含PLSQL Web客户端的压缩文件,允许用户通过Web浏览器进行数据库开发、查询...

    sonar-plsql-plugin-2.9.1.1051

    sonar-plsql-plugin-2.9.1.1051jar包,支持sonarqube对sql的扫描

    plsql-SVN插件

    plsql的svn插件使用办法压缩包内有,也可以看我的博客进行安装。

    plsql分割字符串

    自定义函数`FUNCTION_SF_SPLIT_STRING`如上所示,是一个典型的用于分割字符串的函数,它接受两个参数:待分割的字符串`STRING`和用作分隔符的子字符串`SUBSTRING`,返回一个`VARCHAR2`类型的数组,其中包含了分割后...

    PLSQL-Developer-总是断开数据库连接解决办法

    PLSQL-Developer-总是断开数据库连接解决办法 具体解决方案详见附件内容。

    PLSQL设置快捷键(PlSql-PlugIns-shortcut.txt)

    "PLSQL设置快捷键(PlSql-PlugIns-shortcut.txt)"这个文件显然提供了关于如何在PLSQL Developer中设置快捷键的信息,方便用户快速执行PL/SQL语句。 在PLSQL Developer中,快捷键的设置可以极大地提升开发者的编码...

    PLSQL-Developer.rar

    PLSQL Developer是一款专门为Oracle数据库开发设计的高效工具,它的出现极大地提升了开发人员的工作效率和代码质量。这款软件集成了多种实用功能,使得数据库管理和应用程序开发变得更加便捷。 首先,PLSQL ...

    字符串分割成数组函数(plsql function)

    将字符串分割成数组: ...用法:可以将分割结果做为一个数组或者数据库表列来使用 select * from scott.emp where empno in (select column_value from table(my_split('7369,7499,7521,7844',',')));

    ruby-plsql-master

    总的来说,`ruby-plsql-master`项目为Ruby开发者提供了一种途径,让他们能够利用PL/SQL的强大功能,同时保持Ruby的开发体验。理解这两种语言的特性和如何在它们之间建立接口,对于提升开发效率和项目质量至关重要。...

    plsql-64位注册机

    plsql-64位注册机,亲测可用 = = = = =

    plsql--编程进阶

    - **内置函数**:PL/SQL提供了丰富的内置函数,如数学函数、字符串函数、日期函数等。 #### 三、流程控制结构 **3.1 条件控制** - **IF语句**:根据条件的不同执行不同的代码块。 - **CASE语句**:根据多个条件...

    PLSQL-7.1管理数据库

    **PLSQL-7.1管理数据库** PLSQL(Procedural Language/Structured Query Language)是Oracle数据库中的一个编程语言扩展,它将SQL语句与过程式编程语法相结合,用于创建和管理复杂的数据库应用程序。PL/SQL ...

    plsql-init.bat

    plsql-init的bat脚本

    plsql-解压版

    plsql-解压版 Win7-64位+Oracle11.2g+使用PLSQL_Developer 的解决办法 1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0) 下载instantclient-basic-win32-11.2.0.1.0....

    plsql-oracle-instantclient-x86-64-11.2.0.1.0

    "plsql-oracle-instantclient-x86-64-11.2.0.1.0" 是一个特定版本的Oracle Instant Client,针对64位Windows操作系统。 标题中的"plsql-oracle-instantclient-x86-64-11.2.0.1.0" 提供了以下关键信息: 1. "plsql...

    plsql-插件.zip

    总之,"plsql-插件.zip"提供的内容能够显著提升PL/SQL Developer的用户体验和功能性,无论是通过汉化包简化了界面语言,还是通过CPL/SQL插件增强了代码编写能力,都为Oracle数据库开发工作带来了极大的便利。...

    32bit-plsql-svn-plugins.zip

    标题中的"32bit-plsql-svn-plugins.zip"指出这是一个针对32位系统的PL/SQL Developer集成的SVN(Subversion)插件包。PL/SQL Developer是一款强大的Oracle数据库开发工具,而SVN则是一种版本控制系统,用于跟踪和...

    plsql-developer-1106

    标题中的"plsql-developer-1106"指的是该软件的版本号11.06,这通常代表了软件在功能、性能和稳定性上的改进与优化。 描述中提到"oracle必备工具,带汉化包,ZC码",这表明PL/SQL Developer 11.06已经进行了汉化...

    PLSQL-64绿色免安装版

    "PLSQL-64绿色免安装版"意味着这是一个专为64位操作系统设计的版本,它无需复杂的安装过程,用户可以直接运行以进行数据库相关的工作。 在64位系统中,PLSQL Developer的64位版本能够更好地利用系统资源,处理大...

Global site tag (gtag.js) - Google Analytics