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};