首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

简单的存储过程帮忙讲解一下解决方案

2012-01-05 
简单的存储过程帮忙讲解一下SQL codeCREATE OR REPLACE PROCEDURE COM.SP_COM_MAIN030R(IN_USER_IDINCOM_M

简单的存储过程帮忙讲解一下

SQL code
CREATE OR REPLACE PROCEDURE COM.SP_COM_MAIN030R(       IN_USER_ID                   IN           COM_MAIN030.USER_ID       %TYPE,       --  RETURN VALUE       OUT_CUR                     OUT           ResultType.CURSORTYPE,       OUT_RTN                     OUT           INTEGER,       OUT_MSG                     OUT           VARCHAR2)IS BEGIN /*<<?????>> ----------------------------------------------*/     OPEN OUT_CUR FOR     SELECT            A.USER_ID,           A.USER_NM,           A.PWD,           A.RESNO,           A.USER_NO,                     A.USER_FG,           A.CAMP_FG,           A.EMAIL,           A.PWD_NO_CHG_DT,           A.USE_FG,           A.USE_FR_DT,           A.USE_END_DT,                      A.INPT_ID,           A.INPT_DT,           A.INPT_IP,           A.UPDT_ID,                     A.UPDT_DT,           A.UPDT_IP      FROM COM_MAIN030 A     WHERE A.USER_ID = IN_USER_ID;/*???? EJB?? ?? ROLLBACK------------------------------------------*//* EXCEPTION  WHEN OTHERS THEN      OUT_RTN     := -1;      OUT_MSG     := TO_CHAR(SQLCODE)|| ' : ' || SQLERRM;   RETURN;  /*???? EJB?? ?? COMMIT---------------------------------------------*/  OUT_RTN     := 1;  OUT_MSG     := '处理成功.';  RETURN;END SP_COM_MAIN030R;


详细说说这条sql语句的知识点...因为是菜鸟...这三个变量也不知道是做什么用的  
OUT_CUR OUT ResultType.CURSORTYPE,
OUT_RTN OUT INTEGER,
OUT_MSG OUT VARCHAR2





[解决办法]
全部为输出参数
OUT_CUR OUT ResultType.CURSORTYPE, --输出游标
OUT_RTN OUT INTEGER, --输出整型
OUT_MSG OUT VARCHAR2 --输出字符
[解决办法]
SQL code
SQL> create table test(id int,name varchar(20))  2  /表已创建。SQL> insert into test values(1,'watson');已创建 1 行。SQL> insert into test values(2,'alice');已创建 1 行。SQL> create or replace procedure test1(mycursor out sys_refcursor) is   2      begin  3         open mycursor for select * from test;  4      end test1;  5  /过程已创建。SQL> var c1 sys_refcursor;用法: VAR[IABLE] [ <variable> [ NUMBER | CHAR | CHAR (n [CHAR|BYTE]) |                    VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) |                    NVARCHAR2 (n) | CLOB | NCLOB | REFCURSOR |                    BINARY_FLOAT | BINARY_DOUBLE ] ]SQL> var c1 refcursorSQL> exec test1(:c1);PL/SQL 过程已成功完成。SQL> print :c1;        ID NAME---------- --------------------         1 watson         2 aliceSQL> 

热点排行
Bad Request.