Home  >  Article  >  Database  >  Oracle数据库教程:PL/SQL笔记

Oracle数据库教程:PL/SQL笔记

WBOY
WBOYOriginal
2016-06-07 17:07:20929browse

PL/SQL(procedural language/sql):是oracle基于标准SQL语言的扩展,在PL/SQL中你可以嵌套sql语句、定义变量、定义常量、使用逻

  • 基于以上表myinfo

    ),既然是扩展,当然会使得他的功能更加强大!

    PL/SQL是强大的数据库过程语言!

    重要的是:重要的是PL/SQL紧密的结合在Oracle数据库里面。

    PL/SQL是Oracle数据库使用的三种语言的其中之一,另外两个是SQL和Java。

    功能近似PL/SQL的程序语言和其他关系型数据库:Sybase ASE、Microsoft SQL Server的Transact-SQL,PostgreSQL数据库的PL/pgSQL(模仿PL/SQL)和IBM DB2的SQL PL[1],都符合ISO SQL的SQL/PSM标准。

    ---------------------------------------------------------------------------------------------------

    pl/sql的优点:

    提高应用程序的运行性能、模块化设计、减少网络传输量、提高安全性

    (传统的数据库操作,我们想想:SQL语句写在java程序访问数据库,首先获得连接,编译SQL语句,使得数据库能够认识你的SQL语句,这里每次编译就浪费了一些时间,当数据访问量很大的时候,你的程序性能就比较差了!这里如果我们把某些操作写为一个过程,比如分页、转账过程(功能划分为一个模块,由专人负责维护……)。就可以使得我们的程序性能大大提高,从而数据库操作作为一个模块,当java程序调用时就是调用已经编译的SQL语句,所以在进行程序优化时可以考虑用存储过程进行优化。)

    【当然还有其他有点好处,欢迎补充】

    缺点:

    当需要换数据库时,移植性存在缺陷

    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


    PL/SQL编写规范:

    A:

    单行注释:--

    多行注释:/*……*/

    B:

    标识符的命名规范:

    a.定义变量,建议用v_作为前缀, 例:v_sale

    b.定义常量,,建议用c_作为前缀,例:c_rate

    c.定义游标,建议用_cursor作为后缀例:emp_cursor

    d.定义例外,建议用e_作为前缀例:e_error

    -----------------------------------------------------------------------------------

    PL/SQL是以块为基本单位,块分类{主要有存储过程,函数,触发器,包}

    块(block)的介绍:

    上面说了,PL/SQL是以块为基本单位,,我们编写PL/SQL就是在编写块,简单的应用功能,我们可能只需要一个PL/SQL块就可以实现,复杂的功能就需要多个块了,块可以嵌套。

    块由三部分组成:{定义部分、执行部分、例外处理部分},即:

    declare (可选)

    /*声明部分---定义常量、变量。游标、例外、复杂数据类型*/

    begin (必须滴)

    /*执行部分---需要执行的pl/sql语句和SQL语句*/

    exception(可选的)

    /*处理运行的各种错误*/

    end;(必须滴)

    编写一个简单的块先:

    例子,

    例子, 例子,外加显示密码:

    这里都会弹出一个框,让输入就是psw的值,where passwd=&psw

    例外的情况,如果查询不到数据呢?oracle中会抛出异常,

    这里我们就可以使用例外了,Exception

    linux

  • Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn