Oracle9i第六章PLSQL语言.pptVIP

  • 6
  • 0
  • 约1.21万字
  • 约 93页
  • 2017-04-27 发布于四川
  • 举报
Oracle9i第六章PLSQL语言

第五章 PL/SQL语言;SQL是一种结构化查询语言,它虽然功能强大,但对于有些复杂的带有过程化的操作,就不能用简单的SQL语句来描述。 Oracle公司对SQL作了扩展,建立了模块式的过程化SQL,即PL/SQL。 SQL是一种描述性的语言,一次只能处理一条语句,每次执行都导致客户向服务器调用,从而在性能上产生很大的开销,尤其是在网络操作中。 使用PL/SQL,一个块中的语句作为一个组,一次调用,减少网络传输。;PL/SQL是Procedure Language Structured Query Language的缩写。 Oracle的SQL是支持ANSI(American national Standards Institute)和ISO92(International Standards Organization)标准的产品。 目前的PL/SQL包括两部分,一部分是数据库引擎部分;另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。可以将这两部分称为:数据库PL/SQL和工具PL/SQL。两者的编程非常相似。都具有编程结构、语法和??辑机制。工具PL/SQL另外还增加了用于支持工具(如Oracle Forms)的句法,如:在窗体上设置按钮等。 ;PL/SQL是一种块结构的语言,组成PL/SQL程序的单元是逻辑块,一个PL/SQL程序包含了一个或多个逻辑块,每个块都可以划分为三个部分:声明部份、可执行部份以及例外处理部份。 ;声明部分(Declaration section) 声明部分包含了变量、常量、游标和用户自定义的异常处理。这个部分是由关键字DECLARE开始,如果不需要声明变量、常量、游标和用户自定义的例外处理,那么可以忽略这一部分。 执行部分(Executable section) 执行部分是PL/SQL块中的指令部分,包括一些对数据库操作的SQL语句,以及对块中语句进行组织、控制的PL/SQL语句。由关键字BEGIN开始,所有的可执行语句都放在这一部分,其他的PL/SQL块也可以放在这一部分。 异常处理部分(Exception section) 对可执行部份中的语句,在执行过程中出错或出现非正常现象时所做的相应处理。在PL/SQL中,这一部分是可选的。;PL/SQL块语法结构如下: [DECLARE] declaration statements BEGIN executable statements [EXCEPTION] exception statements END;PL/SQL块中的每一条语句都必须以分号结束,SQL语句可以多行,但分号表示该语句的结束。一行中可以有多条SQL语句,他们之间以分号分隔。每一个PL/SQL块由BEGIN或DECLARE开始,以END结束。注释由“--”标示。 declare pcon_value constant number :=211; begin insert into emp(empno, ename, job) values(pcon_value, ‘Wang’,’Xuan’); end; /;declare v_ename varchar2(20) := ‘赵元杰’; v_sal number(7,2) :=1234.56; v_deptno number(2) := 10; v_empno number(4) := 8888; begin insert into emp ( empno,ename,JOB,sal,deptno,hiredate ) values ( v_empno, v_ename, ‘自由职业’, v_sal, v_deptno, to_date(’1954.06.09’,’yyyy.mm.dd’) ); commit; end; / show error;declare v_ename varchar2(20) := ‘赵元杰’; v_empno number(4) := 8888; begin delete from emp where empno=v_empno and ename=v_ename; commit; end; / show error;标识符;合法的标识符: declare v_name varchar2(20); /* 存放name 列的值 */ v_sal number(9,2); /* 存放 sal 列的值 */;不合法的标识符: declare v-name varchar2(20); /* 存放name 列的值 */ 2001_sal number(9,2); /* 存放 sal 列的值 */ mineyours n

文档评论(0)

1亿VIP精品文档

相关文档