Oracle 10g存储过程学习一
2014-10-30 11:31
330 查看
--1、创建存储过程(无参数)
--结果
24-11月-10 08.59.35.500000000 上午 +08:00
--2、创建存储过程(有参数,且显示指定为输入参数,如果不指定参数模式,默认为输入参数)
--结果
--调用前
--3 ebook 电子图书 电子图书
--调用后
--3 ebook 电子图书 电子图书1
--3、创建存储过程(有参数,且显示指定为输出参数,同时赋默认值)
--结果
--PL/SQL procedure successfully completed
--new_name
---------
--电子图书
--4、修改后再查询修改后的值
--结果
--SQL> var new_name varchar2(500);
--SQL> exec update_comtype_name('ebook','电子图书修改',:new_name);
--PL/SQL procedure successfully completed
--new_name
-----------
--电子图书修改
--5、删除过程
--6、创建存储过程时,将参数同时设置为输入和输出
SQL> var n1 number;
SQL> var n2 number;
SQL> exec :n1 :=100
PL/SQL procedure successfully completed
n1
---------
100
SQL> exec :n2:=30
PL/SQL procedure successfully completed
n2
---------
30
SQL> exec compute(:n1,:n2);
PL/SQL procedure successfully completed
n1
---------
3.33333333333333
n2
---------
10
create or replace procedure out_time is begin dbms_output.put_line(systimestamp); end; --调用存储过程 exec out_time; call out_time();
--结果
24-11月-10 08.59.35.500000000 上午 +08:00
--2、创建存储过程(有参数,且显示指定为输入参数,如果不指定参数模式,默认为输入参数)
create or replace procedure update_comtype_name (param_name in communitytype.name%type) is begin --修改名称 update communitytype set communitytype.english_name = param_name where communitytype.community_type_id = 'ebook'; commit; --异常处理 exception when no_data_found then dbms_output.put_line('没有找到资源库'); end; --调用存储过程 call update_comtype_name('电子图书');
--结果
--调用前
--3 ebook 电子图书 电子图书
--调用后
--3 ebook 电子图书 电子图书1
--3、创建存储过程(有参数,且显示指定为输出参数,同时赋默认值)
create or replace procedure update_comtype_name (param_id in communitytype.community_type_id%type,new_name out communitytype.name%type) is begin --查询修改后的值 select communitytype.english_name into new_name from communitytype where communitytype.community_type_id = param_id; --输出 dbms_output.put_line(new_name); end; --调用存储过程(在pl/sql中打开commond窗口) var new_name varchar2(500); exec update_comtype_name('ebook',:new_name);
--结果
--PL/SQL procedure successfully completed
--new_name
---------
--电子图书
--4、修改后再查询修改后的值
create or replace procedure update_comtype_name ( param_id in communitytype.community_type_id%type, param_eng_name in communitytype.english_name%type, new_name out communitytype.name%type ) is begin --修改名称 update communitytype set communitytype.english_name = param_eng_name where communitytype.community_type_id = param_id; commit; --查询修改后的值 select communitytype.english_name into new_name from communitytype where communitytype.community_type_id = param_id; --输出 dbms_output.put_line(new_name); end; --调用存储过程(在pl/sql中打开commond窗口) var new_name varchar2(500); exec update_comtype_name('ebook','电子图书修改',:new_name);
--结果
--SQL> var new_name varchar2(500);
--SQL> exec update_comtype_name('ebook','电子图书修改',:new_name);
--PL/SQL procedure successfully completed
--new_name
-----------
--电子图书修改
--5、删除过程
drop procedure update_comtype_name;
--6、创建存储过程时,将参数同时设置为输入和输出
create or replace procedure compute (num1 in out number,num2 in out number) is --在利用输入参数时,需要定义临时变量将运算结果保存起来 v1 number; v2 number; begin v1:=num1/num2; v2:=mod(num1,num2); --最后返回结果时,将临时参数的值赋给输入参数(即输出参数) num1:=v1; num2:=v2; end;
SQL> var n1 number;
SQL> var n2 number;
SQL> exec :n1 :=100
PL/SQL procedure successfully completed
n1
---------
100
SQL> exec :n2:=30
PL/SQL procedure successfully completed
n2
---------
30
SQL> exec compute(:n1,:n2);
PL/SQL procedure successfully completed
n1
---------
3.33333333333333
n2
---------
10
相关文章推荐
- Oracle 10g存储过程学习二——为参数传递变量和数据
- oracle 存储过程和函数学习笔记
- Oracle 的存储过程及游标(又学习)
- oracle存储过程学习笔记1–基本结构
- oracle存储过程学习经典[语法+实例+调用]
- oracle存储过程学习收集|韩顺平oracle视频教程|
- Oracle 10g新特性——代码混淆,存储过程加密
- oracle 存储过程学习
- oracle学习-存储过程返回一个值,和返回一个结果集
- Oracle 10g实现存储过程异步调用
- Oracle 存储过程发送邮件实例学习
- 主题:Oracle存储过程学习
- [转载]Oracle存储过程学习
- Oracle编程学习存储过程、函数、游标
- Oracle job + 存储过程学习笔记
- oracle 存储过程和函数学习笔记
- oracle 10g sqlplus 创建和调用存储过程(procedure)
- Oracle 存储过程学习笔记(二)
- 【Oracle 学习笔记】Day 3 存储过程及函数
- oracle 10g 创建存储过程示例 新