create or replace procedure getemps( p_cursor in out types.cursorType )
as begin open p_cursor for select * from PROVINCE_MASTER;
end; 这个存储过程怎么执行?Oracle存储过程中执行查询,如何返回数据集,这样的存储过程该怎么写呢,请高手指教
as begin open p_cursor for select * from PROVINCE_MASTER;
end; 这个存储过程怎么执行?Oracle存储过程中执行查询,如何返回数据集,这样的存储过程该怎么写呢,请高手指教
declare
v_cursor types.cursorType;
begin
getemps(v_cursor);
end;这里sp里定义的是out,所以返回值就是这个参数对应的变量。
对于Oracle我属于初学者,跟SQL Server的语法完全不同,麻烦各位给我个示例,让我理解一下。
SQL> show user;
USER 为 "SCOTT"-----创建存储过程SQL> CREATE OR REPLACE PROCEDURE EMP_COUNT(P_TOTAL OUT NUMBER)
2 AS
3 BEGIN
4 SELECT COUNT(*) INTO P_TOTAL FROM EMP;
5 END;
6 /过程已创建。-----执行存储过程
SQL> set serveroutput on;
SQL> DECLARE
2 V_EMPCOUNT NUMBER;
3 BEGIN
4 EMP_COUNT(V_EMPCOUNT);
5 DBMS_OUTPUT.PUT_LINE('雇员总人数为:'||V_EMPCOUNT);
6 END;
7 /
雇员总人数为:14PL/SQL 过程已成功完成。