oracle11中创建日志表,2009-11-25 oracle学习日志——oracle编程基础(1)

一、简单过程的创建

1.创建一个简单表

create table mytest(name varchar2(30), passwd varchar2(30));

2.创建过程

create or replace procedure sp_pro1 is

begin

--执行部分

insert into mytest values ('张三','abc123');

end;

如何查看错误信息:

show error;

如何调用该过程

(1)exec 过程名(参数值1,参数值2,....)

(2)call 过程名(参数值1,参数值2,....)

--删除表中的数据

--案例

create or replace procedure sp_proc2 is

begin

--执行部分

delete from mytest where name ='张三';

end;

PL/SQL编程的基础是"块"

PL/SQL编程的规范

(1)注释

单行注释--

select * from emp where empno=7788; --取得员工信息

多行注释

/*......*/来划分

(2)标识符号的命名规范

1)当定义变量时,建议用v_作为前缀 如 v_sal

2)当定义常量时,建议用c_作为前缀 如 c_rate

3)当定义游标时,建议用_cursor作为后缀如emp_cursor;

4)当定义例外时,建议用e_作为前缀 e_error

二、块结构示意图:

pl/sql块由三个部分构成:定义部分、执行部分、例外处理部分。

declare --declare部分是可选的

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

begin

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

exception --exception部分可选

/*例外处理部分--处理运行的各种错误*/

1)--最简单的块

begin

dbms_output.put_line('hello');

end;

要显示结果:用set serverouput on 打开输出开关

2)--有定义和执行部分的块

declare

v_ename varchar2(5);--定义字符串常量

begin

select ename into v_ename from emp where empno=&no;

/*&no在这里表示要输入一个值,into v_ename表示把查询出来的值

输入给v_ename*/

dbms_output.put_line('用户名是:'||v_ename);

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;

/*&no在这里表示要输入一个值,into v_ename表示把查询出来的值

输入给v_ename*/

dbms_output.put_line('用户名是:'||v_ename||'工资是:'||v_sal);

end;

/

3)有异常出现的案例

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在这里表示要输入一个值,into v_ename表示把查询出来的值

输入给v_ename*/

dbms_output.put_line('用户名是:'||v_ename||'工资是:'||v_sal);

--异常处理

exception

when no_data_found then

dbms_output.put_line('朋友,你的编号输入有误!请重新输入');

end;

/

4)过程

--编写一个过程,可以输入雇员名,新工资,可以修改雇员的工资

create or replace procedure sp_proc3(swhName varchar2,newSal

number) is

--定义变量

begin

--执行部分,根据用户名修改工资

update emp set sal=newSal where ename=swhName;

end;

--调用时使用exec sp_proc3('SCOTT',3456)这样的形式

[@more@]

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值