oracle 中的存储过程

  oracle 中的存储过程

 --oracle 中的存储过程,
 --不带任何参数的
 
  CREATE OR REPLACE PROCEDURE PRO_TEST
  AS -- AS 和is 没有任何区别
  BEGIN
    dbms_output.put_line(sysdate);
  END;
 -- 再sql窗口中调用,是这样滴呀
  BEGIN
   PRO_TEST();
  END;
  --或则你可以这样简单的调用;ps 记得加上() 
  CALL PRO_TEST();
 
 --再我们的命令窗口中,就可以使用我们的额exec 来调用的呀
 
 --带输入 输出 的存储过程;
 
  CREATE  OR REPLACE PROCEDURE PRO_TEST2
  (
     V_ID IN NUMBER,
     V_NAME OUT VARCHAR2
  )
  AS 
  BEGIN
    SELECT NAME INTO V_NAME FROM TABLE1 WHERE ID=V_ID; --变量赋值
    
    EXCEPTION
    when no_data_found then 
    raise_application_error(-20001,'ID不存在');
  END;
  --调用
  DECLARE 
    RESULT VARCHAR2(100);
  BEGIN
     PRO_TEST2(5,RESULT);
     dbms_output.put_line(RESULT); --这个就是输出的参数滴呀
  END; 

 

posted @ 2016-06-18 15:43  咕-咚  阅读(169)  评论(0)    收藏  举报