1、结构
.spc是包头文件 .bdy是包体文件 spc是bdy的声明
spc文件实例:
不带返回值的
PROCEDURE sp_gen_buylease_report ( i_operator IN pt.toper, i_address IN pt.taddress, i_func_no IN pt.tfuncno, o_errcode OUT pt.terrcode, o_errmsg OUT pt.terrmsg );
讯享网
带返回值的
讯享网 FUNCTION fn_calc_discount_rate_bsflag ( i_trade_date IN pt.tsdate, i_due_date IN pt.tsdate, i_contract IN clear.tc_foreign_clear_price.contract_id%TYPE, i_bs_flag IN clear.tc_foreign_discount_rate.bs_flag%TYPE, o_errcode OUT pt.terrcode, o_errmsg OUT pt.terrmsg ) RETURN NUMBER;
出入参说明:


扩展:
tmp t_cursor_cur%ROWTYPE; 取的是一行数据的类型 其中t_cursor_cur是一个游标类型
2、中间值
以下是bdy的部分代码
PROCEDURE sp_gen_foreign_inquire_posi ( i_operator IN pt.toper, i_address IN pt.taddress, i_func_no IN pt.tfuncno, o_errcode OUT pt.terrcode, o_errmsg OUT pt.terrmsg ) IS v_cur_date pt.tsdate DEFAULT pki_pub.fn_cur_date; v_num pt.tint DEFAULT 0;
其中v_cur_date、v_num都是定义的中间值变量 其中default关键字是设置默认值的意思
3、游标
显示游标:打开游标进行select 这样游标的结果就是select的结果集
讯享网 OPEN o_cursor FOR SELECT exch_code, clear_date, client_id, member_id, contract_id, buy_open_qty, sell_open_qty, buy_offset_qty FROM tc_extra_nomatch_posi ORDER BY exch_abbr, clear_date DESC;
隐式游标
隐式游标:在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标,名字固定叫sql。DML语句包括:INSERT、UPDATE、DELETE
在PL/SQL中使用DML语句时自动创建隐式游标,隐式游标自动声明、打开和关闭,其名为 SQL,通过检查隐式游标的属性可以获得最近执行的 DML 语句的信息,隐式游标的属性有: %FOUND – SQL 语句影响了一行或多行时为 TRUE,%NOTFOUND – SQL 语句没有影响任何行时为TRUE,%ROWCOUNT – SQL 语句影响的行数,%ISOPEN - 游标是否打开,始终为FALSE
UPDATE clear.tc_delivery_bond_manage SET qty = nvl(TRIM(i_qty), qty), price = nvl(TRIM(i_price), price), WHERE op_date = TRIM(i_op_date) IF SQL%ROWCOUNT <> 1 THEN o_errcode := -2; o_errmsg := '更新失败,找不到指定记录'; GOTO l_exit; END IF;
4、loop循环
讯享网 FOR v_cur IN (SELECT t.counterparty_no FROM clear.tc_counterparty_amt_limit t ) LOOP clear.pkc_foreign_database_manage.sp_qry_counterparty_amt_limit(i_operator, i_address, i_func_no, v_cur.counterparty_no, NULL, pc.cn_cp_total, '0', v_amt_limit, o_errcode, o_errmsg ); FETCH v_amt_limit INTO tmp_counterparty, tmp_cp_abbr, tmp_currency, tmp_trade_type, tmp_end_date, tmp_cp_name, tmp_limit_amt, tmp_used_amt, tmp_overtime_amt, tmp_remain_at, tmp_creditHedging_amt, tmp_credit_amt, tmp_creditedHedging_amt, tmp_credited_amt, tmp_pro_use, tmp_limit_amt_rate, tmp_replay_date,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/34063.html