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

oracle pl/sql

阅读更多

 

  ORACLE     PL/SQL

 

<!---->1.       <!---->PL/SQL SQL 语言存储过程的扩展 , 包括两部分 : 一部是数据库引擎部分 , 另一部分是可嵌入到其他许多产品 (C,JAVA) 工具中的独立引擎 . 可将这两部分称为数据库 PL/SQL 和工具 PL/SQL. 以下介绍的是数据库 PL/SQL

<!---->2.       <!---->PL/SQL 语言由以下几部分组成 :

<!---->1)      <!---->数据库定义语言 (DDL). 用于执行数据库中的任务 , 对数据库以及数据库中的各种对象进行创建 . 删除 , 修改 .

   

命令

功能说明

ALTER  PROCEDURE

重新编译存储过程

ALTER  TABLE

修改表

ANALYZE

收集数据库对象性能统计资料

ALTER  TABLE AND CONSTRAINT

在已有表上增加约束

CTREATE TABLE

创建表

CREATE  INDEX

创建索引

DROP   TABLE

删除表

DROP   INDEX

删除索引

 

<!---->2)      <!---->数据操纵语言 (DML). 用于操纵数据库中各种对象 , 检索 , 或修改数据 . 在使用 DML , 必须获得相应的权限 .

命令

功能说明

SELECT

查询数据库

INSERT

插入一行记录

UPDATE

修改数据库记录

DELETE

从表中删除数据

 

<!---->3)      <!---->数据控制语言 (DCL) 用于安全管理 , 确定哪些用户可以查看或修改数据库中的数据 ,DCL 包括的主要语句及其功能如下 :

命令

功能说明

GRANT

将用户或角色授与用户和角色

REVOKE

从用户或角色收回权限

 

PL/SQL 是面向过程的程序结构 , 包括以下几点 :

<!---->1)      <!---->变量和类型

<!---->2)      <!---->控制语句

<!---->3)      <!---->过程和函数

<!---->4)      <!---->对象类型和方法

<!---->3.       <!---->PL/SQL 结构 :

DECLARE

/** 变量声明 **/

BEGIN

  Statements

  Exceptions

END

其中变量声明和异常是可选的 .

<!---->4.       <!---->PL/SQL 标识符 : 所有的大小写英文字母 , 数字 0-9, 常用符号 ( ”-“), 最大标识符为 30 个字符

<!---->5.       <!---->PL/SQL 运算符 : 算术运算符 {+,-,*, / ,**( 指数 ),||( 连接 )}, 关系运算符 { 常用比较运算符 ,BETWEEN  AND ,IN ,LIKE,IS NULL}; 逻辑运算符 {AND , OR ,NOT}

<!---->6.       <!---->其他符号

   

符号

意义

样例

( )

列表分隔

(‘john’,’rose’)

;

语句结束

Procedure_name(arg1,arg2)

.

项分离

Select * from account.table

字符串定界符

If var1=’a+1’

:=

赋值

a:=a+1

||

并置

Fullname:=’a’||’b’

--

注释符

--this is a comment

/* */

注释定界符

/*this too is a comment*/

<!---->7.       <!---->PL/SQL 变量 : 变量的类型可以是 PL/SQL 中的 , 也可以是自定义的 .

变量的定义 :< 变量名 >< 数据类型 >[( 宽度 ):=< 初始值 >]

:count varchar2(20):=’1’;

 

变量的属性包括变量名和数据类型

%TYPE 属性提供了变量和数据列的数据类型 .

:my_xh XS.XH%TYPE 表示变量 my_xh 和字段 XH 拥有相同的数据类型 .

使用 %TYPE 有两个优点 :

<!---->1)      <!---->不必知道 XH 列的确切数据类型

<!---->2)      <!---->如果改变了 XH 的列定义 ,my_xh 的数据类型在运行时可自动修改 .

%ROWTYPE 用于声明表的行记录 . 对用户自定义的域 . 记录包含唯一的命名域 , 具有不同的数据类型 .

 

DECLARE

      TYPE TimeRec is RECORD (HH number(2),MM number(2));

      TYPE MeetingTyp is RECORD

      (

        Meeting_Date date,

        Meeting_Time TimeRec,-- 嵌套变量

        Meeting_Addr varchar2(20),

        Meeting_Purpose varchar2(50)

      

)

        DECLARE

                   cj_rec XS_KC%ROWTYPE

        引用

          my_xh := cj_rec.xh;

 

        如果使用了游标提取 XH,KCH,CJ,XF 则可以使用 %ROWTYPE 声明一个记录保存相同的信息 .

         DECLARE

         CURSOR

         IS

          SELECT XH,KCH,CJ

          FROM XS_KC

         Cj_rec c1%ROWTYPE;

         当执行下面的语句时

          FETCH c1 INTO cj_rec;

          XS_KC 表的 XH 列的值就是赋于 cj_rec XH

         变量的作用域 : 位于 BEGIN END 之间

         PL/SQL 常量定义 :

         < 常量名 >CONSTANT< 数据类型 >:=< >

         PL/SQL 常用数据类型 :

         VARCHAR 类型

         NUMBER 类型

         DATE 类型

         BOOLEAN 类型

         * 用户自定义数据类型

         语法格式 :

         TYPE typename IS system_data_type

         Typename 是用户自定义的数据类型名称 ,system_date_type 是自定义类型依赖的基类型

         定义一个记录类型

         TYPE xs_rec IS RECORD

         {

          Xh number(2) not null:=1;

          Xm char(8)

}

         数据类型转换 :

<!---->1)      <!---->TO_CHAR( NUMBER,DATE 转换成 VARCHAR2 类型 )

<!---->2)      <!---->TO_DATE( CHAR 转换成 DATE 类型 )

<!---->3)      <!---->TO_NUMBER: CHAR 转换成 NUMBER 类型

PL/SQL 的自动转换 :

<!---->1)      <!---->字符型和数字型

<!---->2)      <!---->字符型和日期型

   

<!---->8.       <!---->PL/SQL 基本程序控制结构 :

1. 条件结构 :

IF 逻辑结构 (3 种表达式 )

  1)IF-THEN

   语法结构 :

   IF boolean_expression THEN

Run_experssion;

           ENDIF;

        2)IF-THEN-ELSE

          语法格式 :

          IF boolean_expression THEN

                Run_expression;

          ELSE

                Run_expression2;

          ENDIF;

         3)IF-THEN-ELSIF-THEN-ELSE

          语法格式 :

          IF boolean_expression1 THEN

               Run_expression1;

          ELSIF boolean_expression2 THEN

                Run_expression2;

          ELSE

                Run_expression3;

          ENDIF;

        2. 循环结构

          1.LOOP – EXIT –END 循环

            语法格式 :

            LOOP

                 Run_expression ;

            IF boolean_expression THEN

                 EXIT;

            ENDIF;

            END LOOP;

          2.LOOP – EXIT-WHEN-END

            语法格式 :

            LOOP

                  Run_expression

             EXIT WHEN boolean_expression

             ENDLOOP

          3.WHILE-LOOP-END

语法格式 :

WHILE boolean_expression

LOOP

Run_expression

END LOOP

 

          4.FOR – IN –LOOP – END

语法格式 :

FOR count IN count_1 ..count_n

LOOP

Run_expression

END LOOP

   说明 :

   Count 是循环变量 ,IN 确定循环变量的初始值 count_1 和终值 count_n, 在循环变量之间的范围之间的是分隔符

分享到:
评论

相关推荐

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

    ### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...

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

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

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

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

    Oracle PL/SQL实战(待续)

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

    Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本

    Oracle PL/SQL是一种强大的编程语言,它将关系数据库的强大功能与结构化编程的优点结合在一起,是Oracle数据库系统中不可或缺的一部分。在"Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本"中,读者可以深入...

    ORACLE PL/SQL从入门到精通

    ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...

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

    《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...

    oracle PL/SQL

    Oracle PL/SQL 是Oracle数据库系统中的过程化语言,它结合了SQL查询功能和高级编程特性,使得开发者可以创建复杂的数据库应用程序。在Oracle 11g R2版本中,PL/SQL与SQL Developer一起使用,提供了丰富的开发环境来...

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

    《Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发》是一本深入探讨Oracle数据库中的PL/SQL编程的专业书籍。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...

    Oracle PL/SQL programming(5th Edition)

    ### Oracle PL/SQL Programming知识点概览 #### 一、书籍基本信息 - **书名**:Oracle PL/SQL Programming(第五版) - **作者**:Steven Feuerstein 和 Bill Pribyl - **出版日期**:2009年10月1日 - **出版社**:...

    oracle pl/sql实例精讲student数据库模式数据和表脚本

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和Procedural Language的编程结构,用于在Oracle数据库环境中创建复杂的应用程序。在"Oracle PL/SQL实例精讲student数据库模式"中,我们将深入探讨...

    Oracle PL/SQL学习官方教材

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

    《精通Oracle PL/SQL》源码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和PL(过程化语言)的程序设计特性,是Oracle数据库系统中的核心组件之一。《精通Oracle PL/SQL》这本书深入探讨了这个语言的...

    Oracle PL/SQL by Example(4th Edition)

    《Oracle PL/SQL by Example(4th Edition)》是一本专为Oracle数据库用户设计的PL/SQL编程指南,尤其适合那些希望通过实践学习这一强大的过程式语言的开发者。本书的第四版详细介绍了Oracle PL/SQL的各种核心概念和...

    Oracle PL/SQL best practice

    Oracle PL/SQL最佳实践 Oracle PL/SQL是一种强大的编程语言,用于在Oracle数据库环境中构建复杂的业务逻辑和数据处理任务。Steven Feuerstein,被誉为Oracle PL/SQL语言的大师,分享了他在这一领域的关键最佳实践和...

    Oracle PL/SQL语言初级教程

    Oracle PL/SQL 语言是Oracle数据库系统中的一种高级编程语言,它是SQL的扩展,专为数据库管理和应用程序开发设计。PL/SQL集成了SQL的查询、操纵、定义和控制功能,并添加了过程化编程元素,使其成为数据库管理和开发...

    Oracle PL/SQL编程及最佳实践

    Oracle PL/SQL 编程及最佳实践 Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密...

    ORACLE PL/SQL 程序设计(第五版)

    《ORACLE PL/SQL 程序设计(第五版)》是Oracle数据库开发领域的一本经典教程,专注于讲解如何使用PL/SQL这一强大的过程化语言进行数据库编程。这本书旨在帮助读者掌握PL/SQL的基本概念、语法和高级特性,以便在实际...

Global site tag (gtag.js) - Google Analytics