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,
版权声明:本文为swty3356667原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。