DBeaver «Формат» -> «Формат SQL» -> «В верхний регистр» применяется ко всем словам. Как отформатировать только командные слова SQL, зарезервированные системой?

Когда я щелкаю правой кнопкой мыши по выбранному SQL-запросу и выбираю «Форматировать SQL», он меняет SQL на нижний регистр.

Другая команда «В верхний регистр» не является SQL-интеллектуальной, то есть она меняет все выделенное на верхний регистр, поэтому она также не вызывается с «SQL» в имени.

Сам запрос не чувствителен к регистру и выполняется в SQL с глобальным изменением верхнего или нижнего регистра, но внешняя функция Python, которая использует результаты запроса SQL, больше не может найти нужный столбец, когда он записан в верхнем регистре, поскольку он ищет имя_столбца в нижнем регистре.

Это привело к следующей ошибке в моем интерфейсе:

      
AttributeError

AttributeError: 'Source' object has no attribute 'schedule_day'
Traceback (most recent call last)

    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__

    return self.wsgi_app(environ, start_response)

    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1820, in wsgi_app

    response = self.make_response(self.handle_exception(e))

    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1403, in handle_exception

    reraise(exc_type, exc_value, tb)

    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app

    response = self.full_dispatch_request()

    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request

    rv = self.handle_user_exception(e)

    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception

    reraise(exc_type, exc_value, tb)

    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request

    rv = self.dispatch_request()

    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request

    return self.view_functions[rule.endpoint](**req.view_args)

    File "/monitoring/app.py", line 149, in show_broken_sources

    if source.schedule_day is None:

    AttributeError: 'Source' object has no attribute 'item_day'

The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.

To switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side.

You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:

    dump() shows all variables in the frame
    dump(obj) dumps all that's known about the object

Brought to you by DON'T PANIC, your friendly Werkzeug powered traceback interpreter.

Есть ли способ изменить регистр только для командных слов SQL , в лучшем случае по умолчанию?

1 ответ

Перейдите в Файл -> Свойства -> Редакторы -> Редактор SQL -> Форматирование. Вы даже можете выбрать настройки источника данных, глобальные настройки или внешние настройки.

В моем случае в «Форматере по умолчанию» выберите «Верхний», и вы можете использовать этот форматтер, используяCtrl+Shift+F

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