oracle--plsql1---基础概念

pl/sql基本特征
1.过程、函数、触发器是pl/sql编写的
2.过程、函数、触发器是存在oracle中的
3.plsql是过程语言
4.过程、函数可以在java程序中调用

它的优缺点分别是:
优点
1.提高应用程序的运行性能
2.模块化的设计思想(分页的过程,订单的过程,转账的过程)
3.减少网络传输量
4.提高安全性
缺点

1.移植性不好


plsql是个过程语言,接下来要看下,怎么去创建过程,下一篇还会继续讲怎么调用过程

1.创建一个简单的表
create table mytest(name varchar(30), password varchar2(30));


2.创建过程
create or replace procedure sp_pro1 is
begin
insert into mytest values('黄弋','hy820930');
end;
其中 create or replace是说创建或者替换,如果已经存在就替换没有就创建。这可以避免已经有重名的。在实际工作中,需要确认这个过程是否可以替换,不能随便用替换。
begin和end中间是过程要执行的sql语句,begin之前是定义部分,可以定义函数。
procedure XXX is 是固定格式,xxx是给这个过程起的名字


show error
如果在创建这个过程的时候出错,可以通过这个命令查看错误信息。


如何调用该过程,有2种方式
1.exec 过程名 (参数1,参数2......),一般在plsql中使用
2.call 过程名 (参数1,参数2......),一般在java中调用


注释
单行注释
--
多行注释
/**/



通过上面的例子,我们来展开几个基础概念

标识符号的命名规范
可以把标识符号理解成变量,变量的命名规范
定义变量时,建议用v_作为前缀 v_sal
定义常量时,建议使用c_作为前缀 c_rate
定义游标时,建议用_cursor作为后缀emp_cursor
定义例外时,建议用e_作为前缀,e_error


块是pl/sql的基本单元
块结构示意图
块由三个部分构成:定义部分、执行部分、例外处理部分。
定义部分:declear,定义常量、变量、游标、例外、复杂数据类型
执行部分:begin 要执行的pl/sql语句和sql语句
例外处理部分:exception--处理运行的各种错误
end;


定义部分是从declare开始的,该部分是可选的
执行部分是从begin开始的,该部分是必须的
例外处理部分是从exception开始的,该部分是可选的


set serveroutput on --打开输出选项,如果不打开,不会输出信息
begin
dbms_output.put_line('hello,world');  --dbms_output 是个包  put是包下面的过程
end;
/--注意所有命令写完,要写这个斜杠,开始程序运行



declare
v_ename varchar2(5);  --定义字符串变量
begin
select ename into v_ename from emp where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
end;
/


& 表示要接收从控制台输入的变量,会跳出对话框让你输入,&no 是自己起的名字
|| 表示连接符,类似java的字符串拼接


如果是多个参数
declare
v_ename varchar2(5);  
v_sal number(7,2);
begin
select ename,sal into v_ename,v_sal from emp where empno=&no;
dbms_output.put_line('雇员名:'||v_ename||' 工资:'||v_sal);
end;
/



异常处理
比如,输入的时候,编号查询不到
declare
v_ename varchar2(5);  
v_sal number(7,2);
begin
select ename,sal into v_ename,v_sal from emp where empno=&no;
dbms_output.put_line('雇员名:'||v_ename||' 工资:'||v_sal);
exception
when no_data_found then
dbms_output.put_line('你输入的编号有错误');
end;
/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值