比如:
create table A(a1,a2,a3,a4)
create table B(b1,a1,b2,b3)
这两个表是主从关系的表,表A的主键是表B的外键,我想用存储过程返回两个表,或者更多个表内连接后查询的结果集,这个Oracle的存储过程应该怎么写?
请大家尽量写详细点,谢谢大家!
create table A(a1,a2,a3,a4)
create table B(b1,a1,b2,b3)
这两个表是主从关系的表,表A的主键是表B的外键,我想用存储过程返回两个表,或者更多个表内连接后查询的结果集,这个Oracle的存储过程应该怎么写?
请大家尽量写详细点,谢谢大家!
AS
TYPE myrctype IS REF CURSOR;PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
END pkg_test;
/CREATE OR REPLACE PACKAGE BODY pkg_test
AS
PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
IS
sqlstr VARCHAR2 (500);
BEGIN
IF p_id = 0 THEN
OPEN p_rc FOR
SELECT ID, NAME, sex, address, postcode, birthday
FROM student;
ELSE
sqlstr :=
v`/`vselect id,name,sex,address,postcode,birthday
from student where id=:w_idv`/`v;
OPEN p_rc FOR sqlstr USING p_id;
END IF;
END get;
END pkg_test;