首页 > 数据库技术 > 详细

Oracle Stored Procedure demo

时间:2015-02-17 12:52:48      阅读:355      评论:0      收藏:0      [点我收藏+]
1.how to find invalid status stored procedure and recompile them?

SELECT OBJECT_NAME , status FROM user_objects WHERE OBJECT_TYPE = ‘PROCEDURE‘;

Alter procedure schme.procedurename compile;

缺少练习的学习不是完整的学习,练习才是学习,总结才有思考。

 

SELECT    OBJECT_NAME ,    STATUS FROM    USER_OBJECTS WHERE    OBJECT_TYPE = ‘PROCEDURE‘;

---sample table test(id integer,name varchar2) 
CREATE OR REPLACE PROCEDURE testsp(v_msg VARCHAR2)
AS 
BEGIN
  DBMS_OUTPUT.PUT_LINE(v_msg);
END testsp;

ALTER  PROCEDURE TESTSP COMPILE;

SET SERVEROUTPUT ON;
EXEC testsp(‘oracle stored procedure‘);
EXEC testsp(‘hua xiao yao‘);

CREATE OR REPLACE PROCEDURE procOneOutPara(v_msg VARCHAR2,v_out_p OUT varchar2)
AS 
BEGIN
  DBMS_OUTPUT.PUT_LINE(v_msg);
  v_out_p :=‘execute success‘;
END procOneOutPara;

declare
v_out_msg varchar2(100);
begin
  procOneOutPara(‘hello java‘,v_out_msg);
  dbms_output.put_line(v_out_msg);
end;

CREATE OR REPLACE procedure procCursorReturn(v_id in integer ,outCursor OUT SYS_REFCURSOR )
AS
BEGIN
  open outCursor for
    select * from test where id = v_id;
  exception 
    when others then
    dbms_output.put_line(‘errors occurs‘);
    rollback;
END procCursorReturn;
 
DECLARE 
  testCursor SYS_REFCURSOR;
  mytest   test%ROWTYPE;
BEGIN
 procCursorReturn(5,testCursor);
  LOOP
    FETCH testCursor INTO mytest;
      EXIT WHEN testCursor%NOTFOUND;
      dbms_output.put_line(mytest.name);
  END LOOP; 
  CLOSE testCursor;
 END;


 

Oracle Stored Procedure demo

原文:http://www.cnblogs.com/huaxiaoyao/p/4295127.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!