sqldeveloper сломанный автоформат

Я пытаюсь отформатировать следующий код PLSQL с помощью разработчика SQL.

  log( 'file generated into '
       || 'D:\'
       || 'some path' );

Похоже, что разработчику SQL не нравится этот символ. С этого момента форматирование не работает.

Все работает, если я напишу:

  log( 'file generated into '
       || 'D:'
       || '\'
       || 'some path' );

Может кто-нибудь объяснить, в чем разница между этими двумя кодами, и есть ли обходной путь, кроме переписывания кода?

Благодарю.

ОБНОВИТЬ

Оригинальный код следующий:

  log( 'file generated into '
       || 'D:\'
       || 'some path' );

  INSERT INTO EXPORT_TABLE (A,
                            B, --comment containing '
                             C)
       VALUES (1,
               2,
               3);

И после форматирования с помощью SQL Developer это становится: (обратите внимание на "C) VALUES", который теперь находится внутри комментария)

log( 'file generated into ' || 'D:\'           
|| 'SOME path' );      

INSERT INTO EXPORT_TABLE (A,                                
B, --comment containing ' C) VALUES
(
 1, 2, 3
)
;

1 ответ

Oracle использует "\" в качестве символа ESCAPE. Добавьте дополнительный "\" к вашему утверждению, например D:(за которым следуют два символа "\").YOU получит результат следующим образом

log( 'file generated into ' || 'D:\\' || 'SOME path' );

Надеюсь, что вы сделали..

Другие вопросы по тегам