2016-07-14 14 views
0
選択の結果セットをし、それが INFOという名前の列を持っていますか

私が必要とするのは、INFOの要素を1つずつ取り出してタスクを実行することです。私はGoogleにしようと、私がCURSORを使用する必要があると思われる
ヒキガエル:<br></p> IJKL <br> <strong>INFO</strong><br> ABCD <br> EFGH <br> :ループ私はヒキガエルを使用していますし、<code>MyTable</code>という名前のテーブルがある<p>

foreach (select INFO from MyTable) 
    print 
end 

:だから私は、私は以下のようなものが必要だと思います。だから私はこのように試してみました:

DEF msg varchar2(15); 

cursor cr is 
    select info from mytable; 

begin 
    OPEN cr; 
    loop 
    FETCH cr into msg; 
    exit when cr%NOTFOUND; 
    -- do job 
    end loop; 
    CLOSE cr; 
end; 

しかし、私はエラーを得た:

cursor cr is
Error at line 3
ORA-00900: invalid SQL statement
Script Terminated on line 3.

答えて

1


は明らかにあなたがPL/SQLブロックを実行したいのですが、DEFは、PL/SQLの一部ではありません。 次のブロックを実行してください:

declare 
msg varchar2(15); 
cursor cr is 
    select info from mytable; 
begin 
    OPEN cr; 
    loop 
    FETCH cr into msg; 
    exit when cr%NOTFOUND; 
    -- do job 
    end loop; 
    CLOSE cr; 
end; 

あなたはまた、cursor for loop statement

begin 
    for rec in (
    select info from mytable 
) loop 
     -- do job (you can reference info by using rec.info) 
    end loop; 
end; 
を使用して同じ操作を行うことができます
関連する問題