数据库存储过程学习笔记
2012-06-21 15:29
369 查看
oracle10gr2
学了下数据库存储过程,总结一下。对刚才学习有所交代。
存储过程结构:
create or replace procedure 过程名(参数1,参数2,参数3......)
as
数据定义(i number)
begin
存储过程体
end;
/
一、参数1,参数2,参数3
参数类型有:
IN :值传递,默认的
IN OUT :带值进,带值出
OUT:不带值进,带值出
参数1,可以这样定义:参数名 类型 数据类型。如:name IN OUT dept.dname%TYPE。
创建存储过程,判断如果deptno不存在,则插入一条记录。
create or replace procedure myproc(dno in out dept.deptno%type,name dept.dname%type,dl dept.loc%type)
as
cou number;
begin
select count(deptno) into cou from dept where deptno=dno;
if cou=0 then
insert into dept(deptno,dname,loc) values(dno,name,dl);
dno:=1;
else
dno:=-1;
end if;
end;
/
执行该过程。
declare
deptno dept.deptno%type;
begin
deptno:=12;
myproc(deptno,'haha','shenyang');
DBMS_OUTPUT.put_line(deptno);
end;
/
再试试参数类型为OUT类型的。
create or replace procedure myproc(dno OUT dept.deptno%type)
as
I number;
begin
I:=dno;
dno:=12;
end;
/
执行该过程:
declare
dno dept.deptno%type;
begin
dno:=12;
myproc(dno);
DBMS_OUTPUT.put_line(dno);
end;
/
学了下数据库存储过程,总结一下。对刚才学习有所交代。
存储过程结构:
create or replace procedure 过程名(参数1,参数2,参数3......)
as
数据定义(i number)
begin
存储过程体
end;
/
一、参数1,参数2,参数3
参数类型有:
IN :值传递,默认的
IN OUT :带值进,带值出
OUT:不带值进,带值出
参数1,可以这样定义:参数名 类型 数据类型。如:name IN OUT dept.dname%TYPE。
创建存储过程,判断如果deptno不存在,则插入一条记录。
create or replace procedure myproc(dno in out dept.deptno%type,name dept.dname%type,dl dept.loc%type)
as
cou number;
begin
select count(deptno) into cou from dept where deptno=dno;
if cou=0 then
insert into dept(deptno,dname,loc) values(dno,name,dl);
dno:=1;
else
dno:=-1;
end if;
end;
/
执行该过程。
declare
deptno dept.deptno%type;
begin
deptno:=12;
myproc(deptno,'haha','shenyang');
DBMS_OUTPUT.put_line(deptno);
end;
/
再试试参数类型为OUT类型的。
create or replace procedure myproc(dno OUT dept.deptno%type)
as
I number;
begin
I:=dno;
dno:=12;
end;
/
执行该过程:
declare
dno dept.deptno%type;
begin
dno:=12;
myproc(dno);
DBMS_OUTPUT.put_line(dno);
end;
/
相关文章推荐
- MySQL存储过程和触发器的实现--数据库学习笔记
- Java学习笔记之数据库(触发器、事物、索引、投影和除、视图、存储过程和函数 )含各种链)___ 一直补充
- Oracle 数据库存储过程学习笔记
- oracle 最简单的学习笔记,增删改查,PLSQL基本语法,游标,函数,存储过程的实现
- MSSQL数据库:存储过程学习
- mysql学习笔记之存储过程学习笔记
- Mysql学习笔记七,存储过程和函数
- SQL SERVER 存储过程学习笔记
- 学习数据库:SqlServer 2005之存储过程调试
- 存储过程学习-批量插入10000条数据进数据库
- mysql存储过程学习笔记--变量、参数、注释
- 数据库学习四:c#调用存储过程
- Hawq学习笔记 --- 存储过程生成数据
- 存储过程 学习笔记一
- 存储过程学习笔记1
- 11月28日-- 关于数据库存储过程的一些学习
- MySQL 5.6学习笔记(数据库基本操作,查看和修改表的存储引擎)
- 学习存储过程笔记一
- 学习笔记:查看存储过程执行情况等
- SQL存储过程学习笔记(一)