文档详情

OralePLSQL编程.doc

发布:2017-11-18约1.73万字共16页下载文档
文本预览下载声明
PL/SQL编程 pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展。pl/sql不仅允许嵌入式sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误。这样使得他的功能变的更强大。缺点是移植性不好。 编写一个存储过程,向表中添加数据。 create table mytest (name varchar2(30),passwd varchar2(30)); create or replace procedure xxc_pro1 is begin insert into mytest values (小红,m123); end; 调用过程 exec 过程名(参数1,参数2…)或call 过程名参数1,参数2…) exec xxc_pro1; 或者是 call xxc_pro1; pl/sql可以做什么? 块:包括过程、函数、触发器、包。 编写规范: 注释 --:单行注释 g:select * from emp where empno=7788;--取得员工信息 /*……*/多行注释 表示符号(变量)的命名规范: 当定义变量时,建议用v_作为前缀:v_ename 当定义常量时,建议用c_作为前缀:c_rate 当定义游标时,建议用_cursor作为后缀:emp_cursor 当定义例外时,建议用e_作为前缀:e_error 块(block)是pl/sql的今本程序单元,编写pl/sql程序实际上就是在编写pl/sql块;pl/sql块由三部分组成:定义部分,执行部分,例外处理部分。 eclare --可选部分 /*定义部分:定义常量,变量,游标,例外,复杂数据类型*/ egin --必选部分 /*执行部分:要执行的pl/sql语句和sql语句*/ xception --可选部分 /*例外处理部分:处理运行的各种错误*/ 实例1:只包含执行部分的pl/sql块 SQL set serveroutput on --SQL begin 2 dbms_output.put_line(hello); 3 end; 4 / 说明:dbms_output是oracle提供的包,该包包含一些过程,put_line就是其中之一。 实例2:包含定义部分和执行部分 SQL declare 2 v_ename varchar2(5); 3 begin 4 select ename into v_ename from emp where empno = no; 5 dbms_output.put_line(雇员名||v_ename); 6 end; 7 / 说明::从控制台输入变量,会弹出一个对话框。 实例3.同时输出雇员名和工资 SQL declare 2 v_ename varchar2(20); 3 v_sal number(10,2); 4 begin 5 select ename,sal into v_ename,v_sal from emp where empno=no; 6 dbms_output.put_line(雇员名:||v_ename|| 工资:||v_sal); 7 end; 8 / 包含定义,执行,和例外处理的pl/sql块。 实例4.当输入的员工号不存在时 SQL declare 2 v_ename varchar2(20); 3 v_sal number(10,2); 4 begin 5 select ename,sal into v_ename,v_sal from emp where empno =no; 6 dbms_output.put_line(雇员名:||v_ename|| 工资:||v_sal); 7 exception --异常处理部分 8 when no_data_found then 9 dbms_output.put_line(请输入正确的员工号!); 10 end; 11 / 以上为块的基础,下面来介绍块的各个组成:过程,函数,触发器,包。 过程 过程用于执行特定的操作,当执行过程的时候,可以指定输入参数(in),也可以指定输出参数(out)。通过在过程中使用输入参数,可以讲数据输入到执行部分,通过使用输出参数,可以将执行部分的数据输出到应用环境,在pl/sql中可以使用create procedure命令来创建过程。 编写一个存储过程,可以输入雇员名和新工资来改变员工工资。 --案例 create or replace procedure xx
显示全部
相似文档