2012-10-01 39 views
3

我想寫一個簡單的遊標並在Unix,SQL Plus的命令行Oracle客戶端中運行它。我主要使用單行語句,並且一旦寫完它就無法找到執行多行語句的方法。任何人都可以幫忙嗎?在Unix上執行SQL Plus中的多行語句

這裏是我的代碼:

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; 

感謝

回答

9

在SQL執行PL/SQL塊* PLUS,在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/
+0

這和剛剛打字有什麼區別。 ?兩者似乎都做同樣的事情 – amphibient

+3

句點('.')終止PL/SQL模式,但不運行PL/SQL塊,而'run'命令或斜槓'/'做。 –

+0

還發現'/'絕對必須在它自己的行上。 – FloorDivision