Я выполняю SQL-запрос (для PostgreSQL) через psql.exe внутри пакета Windows. Я получаю ошибку, которую не могу объяснить, говоря, что предложение FROM отсутствует для таблицы, которая не вызывается в запросе (см. ниже). Когда я ищу в командном файле таблицу geo_c3_0
, строка не найдена...*.sql
mo
Любая идея по этому вопросу?
ИЗМЕНИТЬ:
Если я скопирую и вставлю запрос из пакетного файла в окно SQL-запроса pgAdminIII, запрос будет работать нормально, и сообщение об ошибке не будет возвращено.
Когда я удаляю один из подзапросов, ошибка либо исчезает, либо упоминается другое плохо написанное имя таблицы (например: missing FROM-clause for table "geoc__0
)... Все больше и больше кажется, что проблема связана с длиной строки (19 413 символов! ). Для меня невозможно написать запрос в несколько строк в пакетном файле, например, в окне SQL-запроса pgAdminIII. Решение состоит в том, чтобы сохранить запрос внутри файла *.sql
mo"*.sql
и вызвать этот файл из пакетного файла.
echo "My query" > temp.txt
записываетecho command activated
вtemp.txt
. Если я уменьшу длину строки, она запишет ее правильно... 27.06.2017echo
для добавления к файлу>>
. Вы также можете использовать команду cmd.exe для завершения строки^
, чтобы написать ее с разрывами строк. 27.06.2017