Listen Software解决方案 "How To" 系列2:存储过程
2024-07-21 02:08:45
供稿:网友
,欢迎访问网页设计爱好者web开发。
listen software解决方案 “how to” 系列2:存储过程
参照:
参照定义和使用游标
参照定义和使用函数
存储过程
create or replace procedure {procedure name}
( {argument} in {datatype} ) is v_variable {datatype};
--变量类型
varchar(x);
varchar2(x);
varchar2;
char(x);
number(p,s);
--p-数字的位数
--s-数字的精度
number(x);
number;
long;
--容纳32,760字节数据
double precision;
float;
int;
real;
date;
raw(x)
--容纳32,760字节数据
long raw;
--容纳32,760字节数据
--注意数据库类型为long raw
--容纳20亿字节数据
record;
table;
varray;
lob;
clob;
v_variable_c1 varchar2(20);
--创建20个字符长的变量
v_variable_c2 char(10);
--创建固定长度为10个字符的变量
- 最大长度255
v_variable_c3 varchar2;
--变量长度不能超过2000个字符
v_variable_n1 table_name.field_name%type;
--定义参照方案中表字段类型的变量类型
v_variable_n2 number;
v_variable_n3 number := 3;
v_variable_n4 number(10);
v_variable_n5 number(10,2);
v_variable_n6 long;
v_variable_n7 float;
v_variable_n8 real;
type t_my_record is record
(
v_variable1 varchar2(8)
,v_variable2 number(10)
,v_variable3 date
);
my_record t_my_record;
type t_my_table is table of varchar2(10)
--与vb中的数据结构相似
index by binary_integer;
my_table t_my_table;
begin
--这儿插入代码
v_variable_c1 := 'hello world';
v_variable_n2 :=10;
--条件逻辑
if v_variable_n2 = 1 then
v_variable_c2 := 'exact match';
elsif v_variable_n3 > 2 then
v_variable_c2 := 'greater than match';
else
v_variable_c3 := 'none of the above';
end if;
my_record.v_variable1:='abc';
my_record.v_variable2:=3;
my_record.v_variable3:=to_date('11-jan-1999','dd-mon-yyyy');
my_table(1)='a';
my_table(2)='b';
/* v_variable_n2的值为10,因此第一个条件为false.
v_variable_n3初始为3,因此条件为true,
v_variable_c2的值就为'greater than match'
循环 */
v_variable_n2:=0;
loop
v_variable_n2:=v_variable_n2+1;
exit when v_variable_n2 > 10;
end loop;
v_variable_n2:=0;
while v_variable_n2<10 loop
v_variable_n2:=v_variable_n2+1;
end loop;
for v_variable_n2 in 1..10 loop
end loop;
end {procedure name};