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 回答