Когда `SELECT '1``, что находится в опускаемом предложении FROM? [Дубликат]

По какой-то причине соединение с сервером было потеряно. Возможно, сервер явно закрыл соединение, или ошибка на сервере вызвала его неожиданное закрытие. Или что-то между клиентом и сервером (коммутатором или маршрутизатором) удалило соединение.

Это может быть код сервера, который вызвал проблему, и может быть и не так. Если у вас есть доступ к серверному коду, вы можете поместить некоторую отладочную информацию, чтобы сообщить вам, когда клиентские соединения закрыты. Это может дать вам некоторое представление о том, когда и почему соединения удаляются.

На клиенте вам нужно написать свой код, чтобы учесть возможность сбоя сервера в любое время. Так оно и есть: сетевые соединения по своей сути ненадежны.

4
задан franco 18 May 2015 в 12:48
поделиться

3 ответа

Вам вообще не нужно предложение FROM. Только SELECT 1 сделает это.

7
ответ дан Nick Barnes 22 August 2018 в 20:51
поделиться

Просто создайте его, если вы действительно хотите:

CREATE TABLE dual();
0
ответ дан Frank Heikens 22 August 2018 в 20:51
поделиться

Просто используйте select 1. Из документации

Oracle использует «фальшивую» двойную таблицу для многих выборок, где в PostgreSQL мы можем написать select только без из . Эта таблица была создана в postgres, чтобы облегчить проблемы с переносом. Это позволяет коду оставаться в некоторой степени совместимым с Oracle SQL без раздражения парсера Postgres.

5
ответ дан Predrag Maric 22 August 2018 в 20:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: