当前位置:数据库 > Oracle >>

简单的oracle存储过程示例

简单的oracle存储过程示例
 
-- 创建无参procedure:
drop procedure proc_test
create or replace procedure proc_test
is
testvalue varchar2(40);
begin
select user_name into testvalue from user_info where user_id = 1001;
dbms_output.put_line(testvalue);
end proc_test;
/
 
begin
  proc_test;
end;
 
-- 创建输入参procedure:
drop procedure insert_student
create or replace procedure insert_student
(
  user_id Number,user_name varchar2,user_pass varchar2
)
as
begin
  insert into student values(user_id,user_name,user_pass);
end insert_student;
 
begin
  insert_student(1,'aaa','bbb');
  commit;
end;
 
drop procedure proc_test1
create or replace procedure proc_test1
(
  invalue in Integer
)
as
testvalue varchar2(40);
begin
select user_name into testvalue from user_info where user_id = invalue;
dbms_output.put_line(testvalue);
end proc_test1;
/
 
declare   
parameter Integer := 1001;
begin
  proc_test1(parameter);
end;
 
 
-- 创建输出参procedure:
drop procedure proc_test2
create or replace procedure proc_test2
(
  invalue out varchar2
)
as
begin
select user_name into invalue from user_info where user_id = 1001;
end proc_test2;
/
 
declare   
parameter varchar2(20);
begin
  proc_test2(parameter);
  dbms_output.put_line(parameter);
end;
 
--既有输入,又有输出
create or replace procedure proc_test3
(
  invalue in Integer,outvalue out varchar2
)
as
begin
select user_name into outvalue from user_info where user_id = invalue;
end proc_test3;
/
 
declare
parameter Integer := 1001;   
parameter1 varchar2(20);
begin
  proc_test3(parameter,parameter1);
  dbms_output.put_line(parameter1);
end;
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,