简单的Oracle存储过程的创建方法

来源: 作者: 2007-10-16 出处:pcdog.com

存储过程  

  连接到:
  Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
  With the Partitioning, OLAP and Oracle Data Mining options
  JServer Release 9.2.0.1.0 - Production
  
  SQL> create or replace procedure get_news(
  2 aid in varchar2,atitle in varchar2)
  3 as
  4 begin
  5 select * from cf_news
  6 end;
  7 /
  
  警告: 创建的过程带有编译错误。
  
  SQL> create or replace procedure get_news(
  2 aid in varchar2 ,atitle in varchar2)
  3 as
  4 beging
  5 /
  
  警告: 创建的过程带有编译错误。
  
  SQL> create or replace procedure get_news(
  2 aid in varchar2)
  3 as
  4 begin
  5 select * from cf_news;
  6 end;
  7 /
  
  警告: 创建的过程带有编译错误。
  
  SQL> create or replace procedure get_news
  2 as
  3 begin
  4 select * from cf_news;
  5 end;
  6 /
  
  警告: 创建的过程带有编译错误。
  
  SQL> show errors;
  PROCEDURE GET_NEWS 出现错误:
  
  LINE/COL ERROR
  -------- -------------------------------------
  4/1   PLS-00428: 在此 SELECT 语句中缺少 INTO 子句
  SQL> create or replace procedure get_news
  2 as
  3 aa number;
  4 begin
  5 select count(*) into aa from cf_news;
  6 end;
  7 /
  
  过程已创建。
  
  SQL> create or replace procedure get_news
  2 as
  3 aa number;
  4 begin
  5 select count(*) into aa from cf_news;
  6 dbms_outpub.put_line('aa='||aa);
  7 end;
  8 /
  
  警告: 创建的过程带有编译错误。
  
  SQL> show errors;
  PROCEDURE GET_NEWS 出现错误:
  
  LINE/COL ERROR
  -------- -----------------------------------------
  6/1   PLS-00201: 必须说明标识符 'DBMS_OUTPUB.PUT_LINE'
  6/1   PL/SQL: Statement ignored
  SQL> create or replace procedure get_news
  2 as
  3 aa number;
  4 begin
  5 select count(*) into aa from cf_news;
  6 dbms_output.put_line('aa='||aa);
  7 end;
  8 /
  
  过程已创建。
  
  SQL> set serverout on;
  SQL> execute get_news;
  aa=3
  
  PL/SQL 过程已成功完成。
更多内容请看PCdog.com--oracle 存储过程  数据库基本处理专题
上一篇:Oracle中实现数据迁移和数据共享
下一篇:ORACLE数据库问题诊断方法 :常见错误篇