解决方案1:
SQL>!'.
SQL> )一个带参数的存储过程;
Procedure created;;
Procedure created.put_line('
6 END HelloWorld1!
PL/
Hello Tom;
8 /
7 /);Tom'Hello '.
执行
SQL> exec CallHelloWorld1( ' set serveroutput on
SQL>
7 END CallHelloWorld1; CREATE OR REPLACE PROCEDURE HelloWorld1 (
2 p_user_name VARCHAR2
3 ) AS
4 BEGIN
5 dbms_output; CREATE OR REPLACE PROCEDURE CallHelloWorld1 (
2 p_user VARCHAR2
3 ) AS
4 BEGIN
5 -- 调用存储过程的 存储过程
6 HelloWorld1(p_user); || p_user_name || 'SQL procedure successfully completed
--创建存储过程
create or replace PROCEDURE tempproce ASBEGIN
insert into t(imsi,count) values (floor(dbms_random.value(100,1000)),floor(dbms_random.value(1,10)));--将生成的随机数插入到表中
commit;
END tempproce;
--创建个job,作用是10分中执行一次存储过程
Var jobtemp number;
begin
DBMS_job.SUBMIT(:jobtemp,'tempproce;',sysdate,'sysdate+(10/(60*24))');--第二个参数是调用的存储过程的名称,切记要加上;,不然执行错误
end;
--查询jobs的相关试图和字段
select job,last_date,what from dba_jobs;
--获取到job 编号:189(我数据库给的,每个人的可能不同,查询到编号,便于运行它)
--运行job
begin
dbms_job.run(189);
end;
--删除job
begin
dbms_job.remove(189);
end;