plsql中执行存储过程
1、存储过程中是否有 LOOP ?
如果有 的在end loop 添加 EXIT WHEN 游标名%NOTFOUND (意思是如果没有这个游标,就跳出)
2、没有loop 的话
手动停止掉当前的存储过程吧。语句如下:
--先查运行的存储过程sid
select /*rule*/ sid from v$access where object='存储过程名'
--通过sid 找到serial
select sid ,serial#,paddr from v$session where sid='上一句查到的sid'
--kill 掉存储过程
alter system kill session 'sid','serial#'
② 执行plsql中的存储过程
create or replace procere job_table asv_sql varchar2(2000);begin v_sql:='create table job_test2 as select * from job_test'; EXECUTE immediate v_sql; EXCEPTION WHEN OTHERS THEN rollback;end job_table; 存储过程内不能直接使用create或alter,需要使用EXECUTE执行动态语句才可以
还有执行存储过程,必须在命令窗口内执行
打字不易,如满意,望采纳。
③ 如何用plsql每隔5分钟自动执行一次存储过程
1,创建一个存储过程 bb 作用是往pig表中插入数据
SQL> create or replace procere JOB_PRO_TEST as
2 begin
3 insert into JOB_TEST values(sysdate);
4 end;
5 /
Procere created
2,创建一个job,名称为job2010 ;作用是每分钟(60×24=1440)执行一次存储过程JOB_PRO_TEST。
SQL> variable job2010 number;
SQL> begin
2 dbms_job.submit(:job2010,'JOB_PRO_TEST;',sysdate,'sysdate+1/1440');
3 end;
4 /
④ plsql中怎么调用带输出参数的存储过程
1、首先打开一个的PLSQL Developer的界面中,点击左上角的工具,如下图所示。
⑤ plsql怎么查看在执行存储过程
-- 进入cmd,执行类似于下面的操作:
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Proction on 星期四 4月 21 10:18:45 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
idle> conn eygle/eygle
已连接。
eygle@SZTYORA> create or replace procere emp_proc(emp_cur out sys_refcursor)
2 as
3 begin
4 open emp_cur for SELECT * FROM EMP;
5 end;
6 /
过程已创建。
eygle@SZTYORA>
eygle@SZTYORA> var v_emp refcursor;
eygle@SZTYORA> exec emp_proc(:v_emp);
PL/SQL 过程已成功完成。
eygle@SZTYORA> print v_emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO LOC
---------- -------------------- ------------------ ---------- ------------------- ---------- ---------- ---------- --------------------------
7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600 300 30 CHICAGO
7521 WARD SALESMAN 7698 1981-02-22 00:00:00 1250 500 30 CHICAGO
7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00 1250 400 30 CHICAGO
7844 TURNER SALESMAN 7698 1981-09-08 00:00:00 1500 0 30 CHICAGO
eygle@SZTYORA>
⑥ 怎么在PL/SQL Developer 中调用存储过程呢
在PL/SQL Developer中调用存储过程的步骤如下:
1、首先,建立一个操作表,当然也可以用用户界面去创建表。
⑦ 如何在plsql中执行存储过程
create or replace procere job_table asv_sql varchar2(2000);begin v_sql:='create table job_test2 as select * from job_test'; EXECUTE immediate v_sql; EXCEPTION WHEN OTHERS THEN rollback;end job_table; 存储过程内不能直接使用create或alter,需要使用EXECUTE执行动态语句才可以 还有执行存储过程,必须在命令窗口内执行
⑧ PL_sql如何执行oracle存储过程
要成功执行这个存储过程,你需要注意几点:
1.select * from ods_area; 不能直接在pl/sql 中作为语句执行。
应该用 select 字段 into plsql变量 from 表名;
的形式来获取表中的数据,保存到plsql变量中。
2. 存储过程的语法格式为:
create or replace procere area
is
--变量声明;
begin
--过程主体;
end area;
3. 如果存储过程代码无误,可以通过 "/" 来执行代码,编译存储过程。
4.通过exec 或 execute 来调用编译后的存储过程。
例如:
-- 创建procere:
create or replace procere area
is
num number ;
v_areaRecord al%ROWTYPE;
begin
--例子1
select * into v_areaRecord from al;
--例子2
select 12345 into num from al;
end area;
/
-- 通过 / 执行;
--调用
exec area;
⑨ PL/SQL如何实现并行执行存储过程
实现的话,这个得看你需求才能写,一般语法也不是特别麻烦,多学学循环,动态sql的基本可以应付一切了。
执行的话,一般开个sql窗口
begin
存储过程名(参数1,参数2……);
end;如果没有参数,括号里一堆就不用写了,然后执行即可。