1、job 的绑定的作业编号要怎样定义呢?
delare
jobno integer
begin
dbms_job.submit( job=>:jobno
....
这样会报错,无法绑定变量jobno,为什么?2、另外,我看有人这样写job=>jobno,可是运行是有问题的,是怎么回事?3、声明jobno 可以 var jobno number,那用declare 和不用的declare有什么区别?4、我有n个job是不是共用jobno?
谢谢!
解决方案 »
- oracle开窗函数到底有哪些啊,谁能一一举个例不
- oracle 在等 求高手
- 有操作大数据量操作经验的请指教
- 字符串类型检查的查询
- Oracle 的sql语法与sql2005的sql语法有什么不同?
- 这条SQL语句在SQL SERVER 2000中可以执行,在ORACLE 9i中怎样改动才能执行呢?
- ORA-01688:unable to extend table LOG partition P_2005021200 by 256 in tablespace MYLOGS
- 关于启动OracleOraHome90ManagementServer的问题?
- 为什么用insert 语句插入数据,数据长度只有4k左右?
- 我需要连接另一个服务器上的oracle数据库该怎么弄呢?
- 表数据txt格式导出?
- OracleXMLQuery exception
delare
jobno integer
begin
dbms_job.submit( job=>jobno, ....)
end;2. 不明白你说的什么叫做运行有问题3.SQL>var jobno number;
SQL> exec dbms_job.submit(job=>:jobno);4. 每个job的jobno是唯一的,我想你说的是可以用同一个jobno变量来进行submit吧,这样是没有问题的
1、我就是这么写的,但是print jobno 为空
后来SQL>var jobno number; 就没问题了。不知道是为什么?
2、plsql如果不就冒号,print jobno 为同样的值,run()会报错?
3、楼上这2句,为什么这里加冒号,而写在plsql里不加?谢谢!
这个不能在sqlplus下直接打印,jobno变量的范围在你的pl/sql程序块里
这样才行:
set serverout on
delare
jobno integer
begin
dbms_job.submit( job=>jobno, ....);
dbms_output.put_line(jobno);
end; 你需要区分 sqlplus变量和绑定变量的区别,后面的两个问题都是这个事情引起的
BEGIN
DBMS_JOB.SUBMIT(:jobno,
..............
COMMIT;
END;
/
PRINT jobno
BEGIN
:myvar := 'JONES';
END;
/SELECT :myvar FROM dual;PRINT
而在PL/SQL中定义的变量则为PLSQL变量,只能在本PL/SQL块中使用,使用时不用加冒号,如DECLARE
myvar VARCHAR2(10);
BEGIN
myvar := 'JONES';
DBMS_OUTPUT.PUT_LINE(myvar);
END;
/
variable job1 number;
--给一个例子
begin
sys.dbms_job.submit(job => :job1,
what => 'begin CDM_Delete_PRC;end;',
next_date => to_date('15-04-2009 14:03:25', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'to_date(to_char(sysdate, ''yyyy-mm-dd''), ''yyyy-mm-dd HH24:MI:SS'')+1+1/24');
commit;
end;
/
--给一个例子
variable job1 number;
begin
sys.dbms_job.submit(job => :job1,
what => 'begin CDM_Delete_PRC;end;',
next_date => to_date('15-04-2009 14:03:25', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'to_date(to_char(sysdate, ''yyyy-mm-dd''), ''yyyy-mm-dd HH24:MI:SS'')+1+1/24');
commit;
end;
/