我需要修改程序以包含已设置参数的新数据。我需要检查参数的值,以便我可以在实现之前单独测试我的代码。下面是具有参数的代码的一部分。
PROCEDURE Get_All_MT (i IN NUMBER)
AS
BEGIN
INSERT INTO mrr_reten_mt_obp_cli (
AMI_SCHEMA,
UAN,
PRODUCT_CLASS,
POL_NO
)
SELECT a.ami_schema,
a.uan,
a.product_class,
a.pol_no
FROM mrr_retention_c_cover_item a,
att_axa_uan agt,
amt_structure str
WHERE a.accident_date BETWEEN TRUNC (ADD_MONTHS (SYSDATE, i - 1), 'MONTH')
AND TRUNC (ADD_MONTHS (SYSDATE, i), 'MONTH')
- (1 / (60 * 60 * 24))
如您所见,参数“I”用于accident_date范围。我需要知道I的值是什么,以便在代码单独执行时可以替换它。
答案 0 :(得分:2)
使用DBMS_OUTPUT
记录值:
PROCEDURE Get_All_MT (i IN NUMBER)
AS
BEGIN
DBMS_OUTPUT.PUT_LINE( i );
INSERT INTO ...
答案 1 :(得分:1)
我会create table log_params (param varchar2(30), value varchar2(200), log_time date);
和程序:
create or replace procedure log_param(param varchar2(30), value varchar2(200)) as
pragma autonomous transaction
begin
insert into log_params values (param, value, sysdate);
commit;
end;
/
并在您的代码中加入log_param('i', i);
。然后检查表log_params