2

(英語でごめんなさい...)varchar2の文字を削除できるか知りたいのですが:

FOR FF IN REQ LOOP
IF FF.COLUMN_NAME = ANCIEN THEN
  ORDRE_DYN := ORDRE_DYN || ANCIEN;
ELSE 
  ORDRE_DYN := ORDRE_DYN || FF.COLUMN_NAME;
END IF;

ORDRE_DYN := ORDRE_DYN || ' ' || FF.DATA_TYPE || '(' || FF.DATA_LENGTH;

IF FF.DATA_PRECISION IS NULL THEN
  ORDRE_DYN := ORDRE_DYN || ', ' || FF.DATA_PRECISION || '),';
END IF;
END LOOP;

最後の反復で、削除したいコンマがありますが、それは可能ですか?whileループを実行できることはわかっていますが、それでもforを保持したいと思います。

ありがとうございました

4

1 に答える 1

3

ループが完了したら、カンマを RTRIM できます。

END LOOP;

ORDRE_DYN := RTRIM(ORDRE_DYN, ',');

文字列の末尾にコンマが存在しない場合、文字列は変更されません。

Oracle 11gR2 RTRIM のドキュメント。

于 2011-11-09T15:58:58.143 に答える