Как я могу автоматически завершить SQL в PSQL? - PullRequest
0 голосов
/ 03 октября 2019

Я новичок в СУРБД.

Postgres помогает мне с автозаполнением, но не работает для FROM, WHERE и DISTINCT в предложении SELECT.

Конечно, он уже подключен к базе данных. Есть также схема и таблица для запроса.

Например, все ключевые слова, следующие за SELECT, не будут автоматически завершены, когда я попытаюсь ввести следующий запрос;

SELECT DISTINCT district FROM city WHERE countrycode = 'JPN';

Однако после того, как я закончил набирать текст и запускать, ошибок нет. Postgres возвращает результат в обычном режиме.

Тем не менее, он работает в других предложениях, таких как CREATE и ALTER.

Как я могу автоматически заполнить их? Спасибо.

Ответы [ 2 ]

1 голос
/ 03 октября 2019

Ключевые слова между SELECT и FROM (в вашем примере «отлично» и «район») не могут быть автоматически завершены, потому что парсер не знает, на какие столбцы, ключевые слова, имена функций и т. Д. Вы ссылаетесь. Если вы наберете SELECT DI и нажмете Tab, то парсер не будет знать, пытаетесь ли вы ввести ключевое слово DISTINCT или имя столбца DISTRICT (имейте в виду, что в Postgres слова интерпретируются без учета регистра)мода, если не используются двойные кавычки "). После ключевого слова FROM анализатор знает, что вы, вероятно, собираетесь ввести имя таблицы, поэтому он может поддерживать завершение табуляции.

Раскрытие информации: я EnterpriseDB (EDB) сотрудник

0 голосов
/ 03 октября 2019

ответ richyen верен в отношении имен столбцов.

Однако PostgreSQL, безусловно, может предложить автозаполнение для DISTINCT. DISTINCT является зарезервированным ключевым словом в SQL и не может использоваться в качестве имени столбца, если вы не заключите его в двойные кавычки.

Причина, по которой отсутствует автоматическое завершение для DISTINCT, заключается в том, что никто не реализовал егоеще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...