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

标签 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; 

谢谢

最佳答案

要在 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  /

关于oracle - 在 Unix 上的 SQL Plus 中执行多行语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12679063/

相关文章:

sql - Oracle 12 SQL - ORA-00933、ORA-0923、ORA-00979 我做错了什么?

SQL 错误 : ORA-00984: column not allowed here

sql - PLS-00201 : identifier 'USER INPUT' must be declared

database - Oracle 11 索引只针对部分数据

oracle - 使用 biztalk 2010 问题在 Oracle 中插入记录

Oracle直接路径插入问题

c# - 从字符串数组创建 sql 查询

java - jdbc中的加锁、处理和释放锁

sql - 如何在oracle中执行db脚本并输出日志文件

linux - 带有sqlplus和密码特殊字符的Shell脚本