Oracle-存储过程 有入参和返回值

样例代码
传入V_PATIENT_CODE; 返回查找到的第一条数据

CREATE OR REPLACE PROCEDURE SKINTEST_RESULT
(
   V_PATIENT_CODE IN varchar2,-- IN 表示输入 后面写类型
   V_ST_RESULT OUT sys_refcursor -- OUT 表示返回值 后面写类型
)
AS
BEGIN
	-- open 表示打开游标,然后写循环
	OPEN V_ST_RESULT FOR  
	-- 一个查询语句 有;结尾
      SELECT * FROM 
      (
          SELECT A.* 
          FROM SKINTEST_INFO A 
          WHERE A.STATUS = 1
          AND A.PATIENT_CODE = V_PATIENT_CODE
      ) WHERE ROWNUM =1;
END;

注释:sys_refcursor 是游标,概念类似C中的指针,配合open通过指针后移遍历数据;如果是做过程内遍历的话常用cursor

存储过程里还常用if-elseif以及内部的foreach结构,后续用到会写样例记录

你可能感兴趣的:(Oracle)