Oracle Stored Procedure demo
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;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。