oracle中declare调过程,我写一个存储过程,想用DECLAREA调这个过程,并放到定时JOB里,一直报错,求大神

存储过程单独调是没有问题的,但是用declare调的时候就报错
create or replace procedure P_MSS_TERMINAL_SUBSIDY(
i_month_id IN VARCHAR2,
o_RTN_CODE OUT NUMBER,
o_RTN_INFO OUT VARCHAR2)
IS
''''''
END;

我写的declare调过程
declare
h_date number(10) :=to_CHAR(sysdate,'yyyymm');
o_out_CODE number(1) :=1;
o_out_INFO varchar2(20) :='执行完成';
begin
P_MSS_TERMINAL_SUBSIDY(h_date,o_out_CODE,o_out_INFO);
end;

h_date number(10) :=to_CHAR(sysdate,'yyyymm');

改为
h_date varchar2(6) :=to_CHAR(sysdate,'yyyymm');
这样再试一下。
温馨提示:内容为网友见解,仅供参考
无其他回答

oracle中declare调过程,我写一个存储过程,想用DECLAREA调这个过程...
改为 h_date varchar2(6) :=to_CHAR(sysdate,'yyyymm');这样再试一下。

请问一下Oracle存储过程中声明变量一定要declare吗
不需要加declare的,直接在"IS(或AS)"后面紧跟着定义这个存储过程的局部变量即可.

ORACLE 定义存储过程时,什么时候需要使用DECLARE? 可以不用它吗 请...
oracle 的存储过程里没有declare的语法,触发器和plsql块才是declare 如果要定义变量,后面直接跟is的 CREATE OR REPLACE PROCEDURE c(xxx)IS para number;BEGIN end;

oracle怎么写存储过程
CREATE OR REPLACE PROCEDURE P_name--存储过程名字 (i_var in int, --输入参数1 o_var OUT varchar2 --输出参数1 )IS v_STR VARCHAR2(200); --定义存储过程内部的局部变量 BEGIN --下面是存储过程的主体实现部分 v_STR := i_var;dbms_output.put_line(v_STR);o_var := v_STR;ex...

declare 在oracle 中如何使用
一般用在trigger或匿名存储过程中使用.如 declare a number;begin a:=1;end;

ORACLE 中user_jobs调用 存储过程
在里边执行下边的,把下边这些放到job里:DECLARE on_flag NUMBER;out_reason VARCHAR2(4000);BEGIN -- Now call the stored program sp_create_table(on_flag,out_reason);-- Output the results :a0 := on_flag;:a1 := out_reason;EXCEPTION WHEN OTHERS THEN dbms_output.put_line(SubStr('...

怎样实现每天自动执行oracle的存储过程一次?
用joboracle定时器调用存储过程 1、创建一个表,为了能清楚看到定时器的运行情况我们创建一个带有日期字段的表Sql代码 create table job_table(run_time date); create table job_table(run_time date);2、创建存储过程Sql代码 create or replace procedure job_proc is begininsert into job_...

oracel 中怎么写存储过程
CREATE OR REPLACE PROCEDURE P_name--存储过程名字 (i_var in int, --输入参数1 o_var OUT varchar2 --输出参数1 )IS v_STR VARCHAR2(200); --定义存储过程内部的局部变量 BEGIN --下面是存储过程的主体实现部分 v_STR := i_var;dbms_output.put_line(v_STR);o_var := v_STR;ex...

oracle定时执行怎么执行多个存储过程
定时执行存储过程,需要在job里定义;而执行多个存储过程,则在job中定义多次即可。运行环境:oracle 10g 1、定义其中一个job declare jobno number;begin dbms_job.submit(11, what => 'pro_bdc_bh( to_char(add_months(trunc(sysdate),-1),''yyyy''), to_char(add_months(trunc...

oracle存储过程时间调用
declare n_job_01 binary_integer;begin -- 每分钟执行一次 dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(sysdate,’mi’) + 1 \/ (24*60)');-- 凌晨两点执行 dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(sysdate) + 1 + 2\/24');-- 每周一凌晨2点执行 周一...

相似回答