0

これが機能しないのはなぜですか?:

Declare
type tablica is table of varchar2(30)
index by binary_integer;
tab tablica;
i integer :=0;
n integer :=0;
inp integer:='&inp';
one varchar(20);

Begin
While n<3 Loop

n:=n+1;
tab(n):='&one';

End Loop;

(....)

キーボードからの入力を3回読み取り、それを文字のテーブルに入れる必要があります-そして、1回だけ読み取ります:/

4

1 に答える 1

0

PL/SQLで&を使用する必要があるのはなぜですか? 置換は SQL 用です。これはうまくいきます:

Declare
  type tablica is table of varchar2(30) index by binary_integer;
  tab tablica;
  i integer :=0;
  n integer :=0;
 --inp integer:='&inp';
 one varchar(20);
Begin
 While n<3 Loop
  n:=n+1;

  If n = 1 Then
     tab(n):='one';
  elsif
    n = 2 Then
     tab(n):='two';
  Else
     tab(n):='three';
  End if;

   dbms_output.put_line(n||chr(9)||tab(n));
 End Loop;
End;
/

ここにあなたが望むかもしれないもののいくつかの良い例があります: http://www.dba-oracle.com/concepts/pl_sql_while_loop.htm

于 2013-02-27T13:21:57.387 に答える