`
xiaofan_0204
  • 浏览: 126942 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PL/SQL的特性

阅读更多
块结构,变量与常量,循环结构以及游标是PL/SQL最重要的部分

1:块结构
   块结构是PL/SQL程序的基本可执行单元,所有的PL/SQL都是由块结构组成的,每个块完成程序中的部分工作.这样就可以将程序分成多个块!
   块得基本机构如下
declare
  --块得定义部分,这里可以定义变量,自定义类型,游标和局部子程序
  --这是可选的部分
begin
  --块的执行部分,这里放置一些可执行的SQL或PL/SQL
  --这是最重要的部分也是必须有的部分
  --这里至少要包含一条可执行的语句
  exception
  --异常处理部分,放置对错误进行处理的语句
  --这是可选的部分
end;


2:变量和常量
   基本的变量定义类型如下
declare
   v_name varchar2;
   v_age  number;

   这个Oracle预定义的类型,PL/SQL支持复杂的变量类型的,如下所示:
declare
  type au_Record is record(
       author_code char(6),
       name varchar2(10),
       sex number(1)
  )
  oneau au_Record;

   另外,Oracle还有一种数组的定义方式,下面是真实项目一个小事例
declare 
  type org_collect is table of hrm_position_id%type;
  rec_org org_collect;
begin
  --......
  select position_id bulk collect
  into rec_org
  from hrm_position hp
  start with hp.position_id = '1001';
  connect by prior hp.parent_position_id = hp.position_id;
  --改代码意思是层次化查询出员工上级列表,并保存进数组(rec_org)中
end;


3:循环结构
  PL/SQL支持的循环结构有很多种,这里我猎取两种最常用的
drop table table_a;

create table table_a(
       num_col     number,
       char_col    varchar2(60)
);
--第一种
declare
       v_loopCounter  number := 1;
begin
       loop
           insert into table_a(num_col) values(v_loopCounter);
           v_loopCounter := v_loopCounter+1;
           exit when v_loopCounter >100;
       end loop;
end;
--第二种
declare 
       v_loopCounter  number := 1;
begin
       for v_loopCounter in 1..50 loop  
           dbms_output.put_line(v_loopCounter);
       end loop;
end;

select * from table_a;


4:游标(呵呵,直接粘代码算了,很好理解的!)

create table auths(
       v_name varchar2(10),
       v_salary number(8,2)
)

insert into auths values('zhangsan',23.23);
insert into auths values('lis',22.23);
insert into auths values('wangwu',20.23);
insert into auths values('zhaoliu',29.23);
insert into auths values('sunqi',25.23);
commit;

select * from auths;

declare 
        v_name varchar2(10);
        v_salary number(8,2);
        cursor cu_auths is
          select v_name,v_salary from auths;
begin
        open cu_auths;
        
        loop
             fetch cu_auths into v_name,v_salary;
             dbms_output.put_line(v_name);
             exit when cu_auths%notfound;
        end loop;
        
        close cu_auths;
end;
0
0
分享到:
评论

相关推荐

    Oracle PL/SQL程序设计(第5版)(上下册)

    《Oracle PL/SQL程序设计(第5版)》是一本全面介绍Oracle 11g中PL/SQL特性的书籍,适合数据库开发人员、管理员及相关从业人员阅读。本书不仅覆盖了PL/SQL的基础知识,还包括了大量的实战经验和高级主题,对于想要深入...

    oracle10g_pl/sql

    5. **PL/SQL高级特性** - **记录类型**:自定义的数据结构,可以包含多个列。 - **表类型**:定义动态大小的表格,可以存储多个记录。 - **游标变量**:用于存储游标状态,可以在PL/SQL中传递和操作。 - **包**...

    pl/sql最新中文手册

    10. **PL/SQL对象类型**:这部分可能涉及Oracle的面向对象特性,如定义对象类型、对象变量、对象表和继承。 11. **PL/SQL与Java、C等其他语言的互操作性**:Oracle提供了与多种编程语言接口的机制,手册会讲解如何...

    一个对数据库的操作工具PL/SQLpl/sqL工具

    PLSQL7121363这个文件名可能是指PL/SQL工具的某个版本或特定的组件,具体的功能和特性可能需要根据实际的软件来解读。在实际工作中,这样的工具通常会提供友好的图形用户界面(GUI),方便用户编写和执行PL/SQL代码...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    12. **高级PL/SQL特性**:如 bulk collect、pipelined函数、类型继承、嵌套事务等,这些特性能帮助开发者编写更高级的解决方案。 通过学习这些内容,开发者可以掌握Oracle PL/SQL的高级特性,从而设计和实现更高效...

    pl/sql developer11.0

    在本文中,我们将深入探讨PL/SQL Developer的功能、特性以及它在Oracle数据库开发中的作用。 PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库系统中用于数据库编程的一种扩展SQL语言。它...

    Oracle PL/SQL实战(待续)

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...

    oracle 9i pl/sql程序设计笔记

    ### Oracle 9i PL/SQL程序设计笔记精要 #### PL/SQL基础知识概览 **标题与描述**:本文档围绕“Oracle 9i PL/SQL程序设计笔记”这一核心主题,深入探讨了PL/SQL语言的基础知识及其在Oracle 9i数据库环境中的应用。...

    oracle pl/sql从入门到精通 配套源代码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...

    pl/sql 免安装,绿色版pl/sql

    总的来说,绿色版PL/SQL Developer是一款集成了多种功能的Oracle数据库管理工具,其免安装特性使得它在移动办公或临时环境下尤为适用。无论你是数据库管理员还是开发人员,都能从中受益,提升你的工作效率。

    PL/SQL 基本知识

    这篇博客主要探讨了PL/SQL的基础知识,包括其语法特性、使用场景以及在数据库管理中的重要性。 首先,PL/SQL是一种过程化语言,它允许用户定义变量、控制流程(如循环、条件语句)、处理异常,并且可以嵌入SQL查询...

    pl/sql快捷插件

    PL/SQL Developer是一款由Allround Automations公司开发的专门用于Oracle数据库管理的集成开发环境(IDE)。这款软件为Oracle数据库管理员、开发人员和测试人员提供了便捷的SQL和PL/SQL编写、调试和执行功能。而“pl...

    PL/SQL语法帮助

    **Plshelp.hlp** 文件则专注于PL/SQL特性的介绍,例如: - **过程和函数**:定义和调用自定义的程序单元,用于执行复杂的业务逻辑。 - **块结构**:包括匿名块(直接在SQL*Plus中运行)和命名块(如过程和函数)。 -...

    PL/SQL编程基础知识

    根据其特性和用途的不同,PL/SQL块可以分为以下几类: - **无名块或匿名块**:临时构建,只能执行一次,可以调用其他程序但不能被其他程序调用。 - **命名块**:带有一个特定的名字,可以被其他程序调用。 - **子...

    PL/SQL下载

    1. **源代码编辑器**:提供语法高亮、自动完成、错误检查等特性,便于编写和调试PL/SQL代码。 2. **数据库对象管理**:可以浏览、创建、修改数据库表、视图、存储过程、触发器等各种对象。 3. **调试工具**:支持...

    oracle pl/sql 实例精解(中文原书第4版)

    本书是一本逐步分解的,详尽的pl/sql编程教程,使用真实场景的试验、范例和练习来介绍读者所需的pl/sql编程技能,涵盖oracle 11g的最新特性。作者的写作手法源自于在哥伦比亚大学教授pl/sql编程技术的经验,深度...

    oracle sql and pl/sql

    - 功能全面:支持大部分 SQL 和 PL/SQL 特性。 4. **常用命令**: - `\?`:显示帮助信息。 - `set linesize <size>`:设置输出行的最大长度。 - `set pagesize <size>`:设置一页的行数。 - `spool <filename>...

    Oracle PL/SQL实例精解 数据库建立代码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...

    Oracle PL/SQL学习官方教材

    Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...

    PL/SQL Developer Evaluation Version 14.0.0.1961官方多语言版本(32位)

    PL/SQL Developer是一款专为Oracle数据库开发者设计的强大集成开发环境(IDE),由Allround Automations公司开发。这个“Evaluation Version 14.0.0.1961”是其官方发布的多语言版本,特别强调支持32位操作系统。这...

Global site tag (gtag.js) - Google Analytics