商务网站建设一万字,360地图怎么添加地址,贵阳建设网站培训,推广链接让别人点击语法说明
CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN %TYPE, 参数2 IN %TYPE, 参数3 OUT %TYPE) IS
变量1 %TYPE;
变量2 %TYPE;
BEGIN存储过程执行语句块
END 存储过程名字;举例说明
1.举一个简单的例子
定义存储过程 easyProcedure 入参为 两个数 出参为 他们的…语法说明
CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN %TYPE, 参数2 IN %TYPE, 参数3 OUT %TYPE) IS
变量1 %TYPE;
变量2 %TYPE;
BEGIN存储过程执行语句块
END 存储过程名字;举例说明
1.举一个简单的例子
定义存储过程 easyProcedure 入参为 两个数 出参为 他们的和
create or replace procedure easyProcedure (add1 in NUMBER, add2 in NUMBER, result out NUMBER) is
beginresult : add1 add2 ;
end easyProcedure;使用存储过程接着往下看
2.举一个复杂的例子例子比较复杂但很实用
①创建 TYPE 类型 atrr_type
CREATE OR REPLACE TYPE atrr_type AS OBJECT
(attrId varchar2(40),objType varchar2(40)
);②将 TYPE 类型 atrr_type 定义为表 用做接收返回值
CREATE OR REPLACE TYPE attr_table AS TABLE of atrr_type;③定义存储过程 入参为 objt 出参为 一张表
create or replace procedure selectAttr(objt in varchar2, attr out attr_table) is type_row atrr_type;
beginattr : attr_table(); -- 初始化返回结果for thisrow in (select attr_id as attrId, obj_type as objType from CPS_OBJ_ATTR where obj_type objt) loop type_row : atrr_type(thisrow.attrId, thisrow.objType); attr.extend;attr(attr.count) : type_row; end loop;
end selectAttr;④存储过程的使用 定义一个函数来使用它
create or replace function testPro(objType in varchar2) return attr_table isattr attr_table:attr_table();
beginselectAttr(objType, attr);return(attr);
end testPro;⑤调用这个函数
select testPro(truck) from dual;
-- 当函数返回结果为 Table 时 还可以这么调用
select * from table(testPro(truck));刚开始写博文有不足之处请指出觉得文章实用请在右上方点个赞