oracle pl/sql简介、块、过程
pl/sql语言是oracle在sql上扩展的语言。
1 过程、函数、触发器是在pl/sql编写
2 过程、函数、触发器是在oracle中
3 pl/sql的语句可以在java中直接调用
简单介绍
在sql—plus编写一个存储过程,该过程可以向某表中添加记录。
第一步:创建表
create table mytest(name varchar2(20), passwd varchar2(20));
第二步:创建过程
create procedure mypro1 is begin
--执行部分
insert into mytest value('wdx','123')
end;
/
--回车
(注意事项:如果系统以后有mypro1这个过程名了,要么换名要么在create后面加上or replace;如果有错,输入紧跟着输入show error)
第三步:调用该过程
方式1:exec 过程名(参数值1,参数值2....)
方式2: call 过程名(参数值1,参数值2....)
当然也可以在pl/sql developer中创建上述过程,类似。
pl/sql可以编写过程、函数、触发器、包等。
编写规范:
1 注释
单行注释--
多行注释/*...*/
2 标识符号的命名规范
当定义变量时,建议用v_作为前缀
当定义的常量时,建议使用c_
当定义的游标时,建议使用_cursor
当定义例外error时,建议使用e_
***块***
pl/sql使用来编写块的,块结构示意图,三部分构成,分别为定义部分、执行部分、例外处理部分,
declear
/*定义开始*/
begin
/*执行部分*/
exception
/*例外处理部分*/
end;
实例1-只包括执行部分的pl/sql块
set serveroutput on --打开输出选项 begin dbm_output.put_line('hello world') --dbm_output是包,包里面可以是函数和过程 end; /
实例2-包含定义部分和执行部分的pl/sql块
set serveroutput on --打开输出选项 declare v_ename varchar2(5); v_sal number(7,2); begin select ename,sal into v_ename, v_sal from emp where empno = &no; --no是一个接收用户输入的变量,名字可以随便起 dbm_output.put_line('雇员名'||v_ename ||' 工资:'||v_sal); exception when no_data_found then --no_data_fount是oracle预先已经定义的意外 dbms_output.put_line('输入的编号有错误'); end; /
过程:
过程用于执行特定的操作,当建立过程时,既可以指定输入参数也可以指定输出参数,通过在过程中使用输入参数,可
以将数据传递到执行部分,通过使用输出参数,可以将执行部分的数据传递到应用环境。
实例1
create procedure mypro(spName varchar2, spsal number) is begin --执行,根据用户名去修改工资 update emp set sal=spsal where ename=spName; end; / call mypro('scott',1234);
作者:小德cyj
出处:http://www.cnblogs.com/dongzhuangdian
欢迎转载,希望注明出处