plsql中索引表(pls/ql表)的使用

转载 2013年12月04日 14:55:22

pl/sql表,又称为索引表,在oracle9i以后就被称之为pl/sql表了。它是plsql语言数据类型中集合类型。Pl/sql是plsql所特有的、单维的、无容量限制的、离散的存储的列表结构。用于存储多行单列的数据。

语法:

Type <表类型名> is table of <数据类型> index by <索引的类型>;

<表变量名> <表类型名>;

注意:‘表类型名’是用户自己定义的,‘数据类型’是表中字段的数据类型 ,‘索引的类型’现在可以是binary_integer,varchar2。‘表变量名’也是用户自己定义的。

例1:

       我的oracle数据库中有这么一个表emp,

表中字段有empno(number型的),empname(varchar2型的)

 

  1. declare  
  2.        type name_index is table of emp.empname%type index by binary_integer;  
  3.        names name_index;  
  4.        type charindex is table of emp.empname%type index by varchar2(10);  
  5.        names2 charindex;  
  6.        begin  
  7.        names(1):='love';  
  8.        names(2):='u';  
  9.        names2('girl'):='Nora';  
  10.        names2('boy'):='Alent';  
  11.        dbms_output.put_line(names(1));  
  12.        --dbms_output.put_line(names(3));  
  13.        dbms_output.new_line;  
  14.        dbms_output.put_line(names(2));  
  15.        dbms_output.put_line(names2('girl'));  
  16.        dbms_output.put_line(names2('boy'));  
  17.        end;  

输出结果如下:

love

u
Nora
Alent

 

 

例2:

  1. declare  
  2.        type name_index is table of emp.empname%type index by binary_integer;  
  3.        names name_index;  
  4.        type charindex is table of emp.empname%type index by varchar2(10);  
  5.        names2 charindex;  
  6.        begin  
  7.        select empname into names(1) from emp where empno=10;  
  8.        select empname into names2('name') from emp where empno=100;  
  9.        dbms_output.put_line(names(1));  
  10.        dbms_output.put_line(names2('name'));  
  11.        --dbms_output.put_line(names(3));  
  12.        
  13.        end;  


输出结果:

郭丽

Nora

PLSQL中一些常见的表字段操作

--新增字段 alter table epf_finance add descrip varchar2(4000); --修改表字段长度 alter table epf_finance modify...
  • yyyyu3
  • yyyyu3
  • 2016年10月19日 11:21
  • 366

plsql知识梳理-索引

1 索引介绍            索引是加快检索表中数据的方式。对于包含大量数据的表来说,如果没有索引,那么可能对表中数据的检索速度慢的难于忍受。            一种用于提升查询效率的数...
  • weiguolee
  • weiguolee
  • 2011年09月08日 15:51
  • 2508

plsql中索引表(pls/ql表)的使用

pl/sql表,又称为索引表,在oracle9i以后就被称之为pl/sql表了。它是plsql语言数据类型中集合类型。Pl/sql是plsql所特有的、单维的、无容量限制的、离散的存储的列表结构。用于...
  • lishiyuzuji
  • lishiyuzuji
  • 2012年02月01日 10:15
  • 6272

Oracle查询常用SQL【表空间、索引等】

查看当前用户的缺省表空间   SQL>select username,default_tablespace from user_users;   查看当前用户的角色   SQL>se...
  • dreamthen
  • dreamthen
  • 2013年03月21日 11:19
  • 5202

PLSQL_Oracle分区表和相应的分区索引管理和使用(案例)(创建交易表等大表时进行分区提高效率)

1、分区表:     随着表的不断增大,对于新纪录的增加、查找、删除等(DML)的维护也更加困难。对于数据库中的超大型表,可通过把它的数据分成若干个小表,从而简化数据库的管理活动。对于每一个简化...
  • meiru8
  • meiru8
  • 2014年08月25日 11:17
  • 507

PLSQL Developer连接Oracle及PLSQL Developer基本使用,表及语句索引情况

1.安装PLSQL DeveloperOracle数据库和PL/SQL Developer的安装步骤,这里就不做叙述了,百度安装方法的时候有说在安装PL/SQL Developer软件时,不要安装在P...
  • Harry_ZH_Wang
  • Harry_ZH_Wang
  • 2017年02月18日 23:23
  • 1827

PLSQL操作Oracle创建用户和表

1、打开PLSQL,填写用户名和密码(初始有两个用户sys和system,密码是自己安装oracle数据库时定的),Database选择ORCL(默认数据库,oracle中创建的用户就像是mysql中...
  • doudou_demo
  • doudou_demo
  • 2015年08月14日 19:45
  • 21950

plsql 导入导出表、数据、序列、视图

一、导出: 1、打开plsql
  • bzuld
  • bzuld
  • 2014年04月18日 10:41
  • 32549

oracle大表建索引步骤

一. 创建测试用表 big_table,并进行表分析 创建测试用户及表空间: SQL> create tablespace tbs_a datafile '/u01/app/oracle/oradat...
  • gumengkai
  • gumengkai
  • 2016年09月20日 17:07
  • 2654

PLSQL导入导出表的正确步骤

原来总是直接 tools->import talbes->Oracle Import结果发现有的时候会出错:有的表不能正确导入, baidu+googel解决办法如下(看解释1): 导出步骤: 1...
  • xiaoshuji
  • xiaoshuji
  • 2016年01月29日 13:32
  • 1320
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:plsql中索引表(pls/ql表)的使用
举报原因:
原因补充:

(最多只允许输入30个字)