`
wilent
  • 浏览: 39420 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PL/SQL入门系列--集合之:index-by表

阅读更多
       与很多语言一样,oracle也有其集合结构,首先向大家介绍 :index-by表
       index-by 类似c,c++,java中的数组.
       一.  定义语法为:
       TYPE TableType IS TABLE OF type INDEX BY BINARY_INTEER;
       二. 示例
                1. 类型为字符串
                         
sql 代码
 
  1. Declare   
  2.    Type characterTab Is Table Of Varchar2(10) Index By Binary_Integer;  
  3.    v_characters characterTab;  
  4. Begin  
  5.    v_characters(0) := 'hello';  
  6.    v_characters(1) :='wilent';  
  7.    dbms_output.put_line(v_characters(0)||'_'||v_characters(1));  
  8. End;  
   
                    2. 类型为数值型
sql 代码
 
  1. Declare   
  2.  Type numberTab Is Table Of Number Index By Binary_Integer;  
  3.  numbers numberTab;  
  4.  outChar Varchar2(255) := '';  
  5. Begin  
  6.      For v_count In 1..10 Loop  
  7.          numbers(v_count) := v_count;  
  8.          outChar := outChar||'_'||numbers(v_count);  
  9.      End Loop;  
  10.        
  11.      dbms_output.put_line(outChar);  
  12. End;  

                    3. 类型为自定义
  
sql 代码
 
  1. --自定义类型testObject;  
  2. Create Or Replace Type testObject As Object   
  3. (  
  4.        field_1 Number,  
  5.        field_2 Varchar2(20),  
  6.        field_3 Varchar2(20)  
  7. );  
  8. /  
  9.   
  10. Declare   
  11.         Type objectTab Is Table Of testObject Index By Binary_Integer;  
  12.         t_obj objectTab;  
  13. Begin  
  14.         t_obj(1) := testObject(88,Null,Null);  
  15.         t_obj(1).field_2 := 'hello';  
  16.         t_obj(1).field_3 := '世界';  
  17.         dbms_output.put_line(t_obj(1).field_1||t_obj(1).field_2||t_obj(1).field_3);  
  18. End;  
分享到:
评论

相关推荐

    Oracle PL/SQL guid

    - **集合**:讨论了索引表(INDEX BY TABLE)和关联数组(ASSOCIATIVE ARRAYS)的区别和适用场景。 #### 六、控制结构 - **循环**:探讨了FOR循环、WHILE循环和LOOP循环的不同用法及优缺点。 - **条件语句**:解释...

    oracle PL/ SQL语言基础

    - PL/SQL支持多种类型的集合,如数组(VARRAYs)、关联数组(INDEX BY TABLES)和集合类型(collections),它们可以用来存储多个同类型的数据。 12. **PL/SQL与SQL的集成**: - PL/SQL可以直接嵌入SQL语句,进行...

    oracle 11g sql pl sql 从入门到精通 全本

    这本书"Oracle 11g SQL PL SQL 从入门到精通 全本"应该是涵盖了这两个领域的全面知识,帮助初学者到进阶者逐步掌握在Oracle 11g环境中使用SQL和PL/SQL进行数据操作与应用开发。 首先,对于SQL,你需要了解以下几个...

    Teach Yourself SQL in 21 Days

    ### 教你自己SQL在21天内 #### 第一周概览 **Day1:SQL简介** - **SQL定义**:SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。 - **SQL用途**:用于创建、读取、更新和删除数据库中的数据。...

    PL_SQL个人学习笔记

    根据给定的文件信息,以下是对“PL_SQL个人学习笔记”的详细解读与扩展知识点: ### PL_SQL基础概念 PL/SQL(程序化SQL)是一种强大的过程化编程语言,用于增强Oracle数据库的功能。它将SQL命令与传统的编程语言...

    oracle入门基础教程全面详细

    - **PL/SQL变量与常量**:学习PL/SQL中变量与常量的定义与使用。 - **流程控制结构**:掌握IF、CASE、LOOP等流程控制语句的使用方法。 - **异常处理**:学习EXCEPTION块的使用,处理程序运行时可能出现的错误。 ###...

    oracle的sql语句和语法

    本资料将重点介绍Oracle SQL语句和语法,适合初学者入门学习。 1. **SQL基础** - **SELECT语句**:用于从数据库中检索数据,是最常用的SQL语句。可以指定列名、表名、条件等,例如`SELECT column1, column2 FROM ...

    Oracle学习笔记

    - **表空间的创建**:创建表空间是通过SQL命令`CREATE TABLESPACE`来完成的,可以指定表空间的名称、数据文件的位置、初始大小、最大大小等。 - **管理表空间**:包括增加数据文件、调整数据文件大小、设置表空间...

    SQL语法大全(由浅到深)

    本资料全面涵盖了SQL语法的基础至高级内容,旨在帮助用户从入门到精通,逐步掌握数据库操作的核心技能。 1. **SQL基础** - **数据类型**:SQL支持多种数据类型,如整型(INT)、浮点型(FLOAT)、字符串(VARCHAR...

    超详细ORACLE培训带实例带书签目录

    - **PL/SQL概述**:PL/SQL的特性和优势。 - **PL/SQL块**:包括声明部分、执行部分、异常处理部分。 - **变量和常量**:定义变量和常量的方法。 - **流程控制结构**:IF、CASE、LOOP等结构的使用。 #### 第十九章 ...

    数据库知识点整理,很详细完整,适合入门或者复习。

    - **PL/SQL**:过程化SQL语言,增强了SQL的功能。 - 示例:声明变量、控制流结构等。 ```plsql DECLARE v_name employees.name%TYPE; BEGIN SELECT name INTO v_name FROM employees WHERE id = '15010730'; ...

    超详细Oracle教程(带目录).pdf

    - **PL/SQL概述**:PL/SQL的特点和优点。 - **变量与数据类型**:PL/SQL中的变量声明、常量和数据类型。 - **流程控制**:IF、CASE、LOOP等流程控制语句的应用。 #### 二十、游标、函数 - **游标**:CURSOR的使用...

    超详细Oracle教程

    - **函数调用**:在SQL或PL/SQL中调用函数。 #### 二十一、存储过程 - **过程定义**:使用PROCEDURE创建存储过程。 - **过程调用**:通过EXECUTE调用存储过程。 - **参数传递**:IN、OUT、IN OUT参数。 #### 二十...

Global site tag (gtag.js) - Google Analytics