在Unix上的SQL Plus中执行多行语句

时间:2012-10-01 18:40:41

标签: oracle oracle11g sqlplus

我正在尝试编写一个简单的游标并在Unix,SQL Plus上的命令行Oracle客户端中运行它。我大部分时间都在使用单行语句,一旦写完它就找不到执行多行语句的方法。有人可以帮忙吗?

这是我的代码:

DECLARE 
   TYPE array_t IS varray(4) OF varchar2(10); 
   ARRAY array_t := array_t('foo', 'bar', 'stack', 'overflow');
BEGIN 
   FOR i IN 1..array.count loop
       dbms_output.put_line(array(i)); 
   END loop; 
END; 

由于

1 个答案:

答案 0 :(得分:9)

要在SQL * PLUS中执行PL / SQL块,请在PL / SQL块的末尾添加斜杠:

SQL> DECLARE
  2     TYPE array_t IS varray(4) OF varchar2(10);
  3     ARRAY array_t := array_t('foo', 'bar', 'stack', 'overflow');
  4  BEGIN
  5     FOR i IN 1..array.count loop
  6         dbms_output.put_line(array(i));
  7     END loop;
  8  END;
  9  /