pl/sql函数过程结构

上一篇 / 下一篇  2008-05-19 21:23:26 / 个人分类:PL/SQL

今天第一次搞PL/sql函数,以前也看过很多相关介绍,但是一直没有实践
用的开发工具oracle 的 sql developer,不太熟悉
犯了错误,花费了时间,当然也学到了一些知识la
第一个使用游标的过程也即函数总算成功啦
实践如下

在开发工具的左边视图的PROCEDURE右键新规
生成如下代码

CREATE OR REPLACE
PROCEDURE PROCEDURE2 AS
BEGIN
  NULL;
END PROCEDURE2;

使用hr schema

将代码修改成如下

CREATE OR REPLACE
PROCEDURE PROCEDURE2 AS
declare
cursor emp_cursor is select EMPLOYEE_ID,salary from EMPLOYEES;
emp_record emp_cursor%rowtype;
begin
  open emp_cursor;
    loop
      fetch emp_cursor into emp_record;
      exit when emp_cursor%NOTFOUND;
      if emp_record.salary>2000 then
        dbms_output.PUT_LINE(emp_record.EMPLOYEE_ID);
      end if;
    end loop;
  close emp_cursor; 
END PROCEDURE2;

此时编译,总是出现以下错误,好不容易才解决了

Error(4,1): PLS-00103: 記号"DECLARE"が見つかりました。 次のうちの1つが入るとき:     begin function package pragma procedure subtype type use    <an identifier> <a double-quoted delimited-identifier> form    current cursor external language 記号"begin" は続行のために"DECLARE"に代わりました。

Error(18): PLS-00103: 記号"end-of-file"が見つかりました。 次のうちの1つが入るとき:     begin case declare end exception exit for goto if loop mod    null pragma raise return select update while with    <an identifier> <a double-quoted delimited-identifier>    <a bind variable> << close current delete fetch lock insert    open rollback savepoint set sql execute commit forall merge    pipe

将代码修改如下形式即可
CREATE OR REPLACE
PROCEDURE PROCEDURE1 AS
begin
declare
cursor emp_cursor is select EMPLOYEE_ID,salary from EMPLOYEES;
emp_record emp_cursor%rowtype;
begin
  open emp_cursor;
    loop
      fetch emp_cursor into emp_record;
      exit when emp_cursor%NOTFOUND;
      if emp_record.salary>2000 then
        dbms_output.PUT_LINE(emp_record.EMPLOYEE_ID);
      end if;
    end loop;
  close emp_cursor; 
end;

ENDPROCEDURE1;

比较两者,我才知道pl/sq过程的完整结构




TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-10-11  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 274
  • 日志数: 7
  • 书签数: 8
  • 建立时间: 2008-05-02
  • 更新时间: 2008-06-29

RSS订阅

Open Toolbar