-1
大文字と小文字のすべての国でインドとイスラエルを印刷する必要があります。PLS-00103:次のいずれかが予想される場合、シンボル "LOOP"が検出されました:
私は、次のエラーを取得しています:
PLS-00103: Encountered the symbol "LOOP" when expecting one of the following: if
にはどうすればいいのインデックスこの配列はアルファベット順に国を表示することができますか?
DECLARE
type idtable IS TABLE OF COUNTRIES.COUNTRY_ID%TYPE;
type nametable IS TABLE OF COUNTRIES.COUNTRY_NAME%TYPE;
idtab idtable;
nametab nametable;
total INTEGER;
CURSOR c1 IS
SELECT country_id, country_name
FROM countries;
BEGIN
OPEN c1;
FETCH c1 BULK COLLECT INTO idtab, nametab;
CLOSE c1;
for i =1 in nametab.FIRST .. nametab.LAST LOOP
IF (nametab(i)) = 'India'
THEN dbms_output.put_line(UPPER((nametab(i))));
ELSIF (nametab(i)) = 'Israel'
THEN dbms_output.put_line(UPPER((nametab(i))));
ELSE DBMS_OUTPUT.PUT_LINE (nametab(i));
END LOOP;
END;
あなたのブロックが一つだけのミスを除いて正しいです。 CまたはC++ループとは異なり、PLSQLでは初期化する必要はありません。だからforループのi = 1が間違っている。 '= 1'を削除しても問題ありません。 – XING
ようこそスタックオーバーフロー!スタックオーバーフローへようこそ!問題を解決するための努力をして、内容の中でより良いタイトルと詳細な情報をお持ちいただけますか? – manetsus