oracle_存储过程例子_1

--关于游标 if,for 的例子
create or replace procedure peace_if
is
cursor var_c is select * from grade;
begin
for temp in var_c loop
if temp.course_name=‘OS‘ then
dbms_output.put_line(‘Stu_name=‘||temp.stu_name);
else if temp.course_name=‘DB‘ then
dbms_output.put_line(‘DB‘);
else
dbms_output.put_line(‘fengla fengla‘);
end if;
end loop;
end;
--关于游标,for,case得例子
create or replace procedure peace_case1
is
cursor var_c is select * from test_case;
begin
for temp in var_c loop
case temp.vol
when 1 then
dbms_output.put_line(‘haha1‘);
when 2 then
dbms_output.put_line(‘haha2‘);
when 3 then
dbms_output.put_line(‘haha3‘);
when 4 then
dbms_output.put_line(‘haha4‘);
when 5 then
dbms_output.put_line(‘haha5‘);
else
dbms_output.put_line(‘haha‘);
end case;
end loop;
end;

--关于游标 for,case,的例子2
create or replace procedure peace_case2
is
cursor var_c is select * from test_case;
begin
for temp in var_c loop
case
when temp.vol=1 then
dbms_output.put_line(‘haha1‘);
when temp.vol=2 then
dbms_output.put_line(‘haha2‘);
when temp.vol=3 then
dbms_output.put_line(‘haha3‘);
when temp.vol=4 then
dbms_output.put_line(‘haha4‘);
else
dbms_output.put_line(‘haha5‘);
end case;
end loop;
end;
--关于for 循环的例子
--to_char();实现其他数据类型向字符类型转换
create or replace procedure peace_for
is
sum1 number :=0;
temp varchar2(500);
begin
for i in 1..9 loop
temp :=‘‘;
for j in 1..i loop
sum1 :=i*j;
temp:=temp||‘ ‘||to_char(i)||‘*‘||to_char(j)||‘=‘||to_char(sum1)||‘‘;
end loop;
dbms_output.put_line(temp);
end loop;
end;

--关于loop循环
create or replace procedure loop_cur
is
stu_name varchar2(100);
course_name varchar2(100);
cursor var_c is select * from grade;
begin
open var_c;
loop
fetch var_c into stu_name,course_name;
exit when var_c%notfound;
dbms_output.put_line(stu_name||‘ ‘|| course_name);
end loop;
close var_c;
end;
--关于异常处理的例子
create or replace procedure peace_exp(in1 in varchar2)
is
c_n varchar2(100);
begin
select course_name into c_n from grade where stu_name=in1;
dbms_output.put_line(c_n);
exception
when no_data_found
then
dbms_output.put_line(‘try‘);
when TOO_MANY_ROWS
then
dbms_output.put_line(‘more‘);
end;

--异常处理例子2
create or replace procedure peace_insert(c_n in varchar2)
is
error EXCEPTION;
begin
if c_n =‘OK‘ then
insert into grade(course_name) values(c_n);
elsif c_n=‘NG‘ then
insert into grade(course_name) values(c_n);
raise error;
else
dbms_output.put_line(‘c_n‘||‘ ‘||c_n);
end if;
commit;
exception
when error then
rollback;
dbms_output.put_line(‘error‘);
end;

--定义包头
create or replace package peace_pkg
as
function test1(in1 in varchar2)
return number;
procedure test2(in2 in varchar2);
end peace_pkg;
--定义包体
create or replace package body peace_pkg
as
function test1(in1 in varchar2)
return number
as
temp number;
begin
temp:=0;
return temp;
end;
procedure test2(in2 in varchar2)
is
begin
dbms_output.put_line(in2);
end;
end peace_pkg;

时间: 2025-01-02 13:38:14

oracle_存储过程例子_1的相关文章

DBUTIL 调用存储过程例子

执行存储过程和执行select查询相比,无非就是SQL语句不同.下面是一个用存储过程查记录的例子.根据你的数据库不同和域对象不同,此代码要修改 Java code ? 1 2 3 4 5 QueryRunner r = new QueryRunner(); String sql = "{call search_as_cname(?)}"; //携参存储过程的SQL这样写 String textStr = "英%"; Course s = (Course)r.quer

附上SQL Server的存储过程例子

代码如下,看了就明白: --添加项目大类存储过程 use chaiqianD2 go if object_id('p_InsertBigType', 'p') is not null drop procedure p_InsertBigType go create procedure p_InsertBigType @Name nvarchar(50) --[大类名称] as begin insert into [项目大类]([大类名称]) values(@name) end 2.稍微难点滴,大

Oracle_存储过程

过程一般用于执行一个指定的操作,可以将常用的操作封装成一个过程.一般分为无参数的过程,in 参数的存储过程,out的存储过程, inout 存储过程 1—创建in参数的存储过程, create or replace procedure pro_query_emp (v_no in emp.empno%type)--在这个定义的时候标明 in as v_sal emp.empno%type; begin select sal into v_sal from emp where empno=v_no

mysql存储过程例子

/*定义变量方式1:set @变量名=值;方式2:select 值 into @变量名;方式3:declare 变量名 类型(字符串类型加范围) default 值; in参数 入参的值会仅在存储过程中起作用out参数 入参的值会被置为空,存储中计算的值会影响外面引用该变量的值inout参数 入参的值不会被置为空,存储中计算的值会影响外面引用该变量的值*/use mysql;/*创建1个存储过程*/delimiter $$DROP PROCEDURE IF EXISTS porc_person_

oracle_存储过程小记

# 刷新会员标签函数 {color:red} fun_refresh_code{color} {noformat}CREATE OR REPLACE FUNCTION fun_refresh_code(v_code NUMBER := 0) RETURN varchar2 IS vsql VARCHAR2(1000); outpass VARCHAR2(100); outfail VARCHAR2(100); refreshresult VARCHAR2(100); errormgs VARCH

sql 存储过程例子和学习demo

-------------------------------------------------------------------------- -------------------------------存储过程Study------------------------------ -------------------------------------------------------------------------- --删除表 drop table student go -

postgrep创建存储过程例子

1.创建数据库psql create database db_hxl encoding = 'utf8';#\c db_hxl 2.创建表create table tb_test01(id bigserial primary key not null,name varchar(32),createtime timestamp default current_timestamp,modifytime  timestamp default current_timestamp); 3.创建存储过程 C

存储过程--例子

create or replace procedure cust_xchgsta_byday_proc(p_day varchar2) is --by day type_all v_cnt_401 t_console_daysta_tab.cnt_401_snd%type; v_cnt_301e t_console_daysta_tab.cnt_301e_rcv%type; v_cnt_301h t_console_daysta_tab.cnt_301h_rcv%type; v_cnt_402

MySql存储过程例子1

delimiter // drop procedure if exists p_PreLogin// create procedure p_PreLogin( IN in_username varchar(32), IN in_password varchar(32), IN in_asshkey varchar(33), IN in_usshkey varchar(33), IN in_gameid tinyint, IN in_logintype tinyint ) PROC_LABEL: