Как добавить дополнительный поддельный пустой столбец, чтобы выбрать результат в Informix? - PullRequest
0 голосов
/ 06 февраля 2020

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

Предположим, у меня есть две разные таблицы следующим образом.

**

tab1 
----
col1 col2 col3

tab2
---
col1 col2

**

Предположим, мне нужно выгрузить 1000 записей из tab2 и нужно загрузить их в tab1. Но есть несоответствие при рассмотрении количества столбцов. Но я могу ввести нулевые значения для col3 при загрузке данных в tab1

Так что моя команда выгрузки выглядит следующим образом:

unload to data.unl select col1, col2, null as col3 from tab2;

Затем я могу загрузить содержимое data.unl в tab1. Но моя проблема в том, что я получаю синтаксическую ошибку, когда пытаюсь выгрузить данные таким способом. Пожалуйста, поправьте меня. Кто-то может поспорить, что я могу использовать простую команду вставки с выбором данных из вкладки 2. Но в моем реальном случае использования это невозможно, потому что объем данных настолько велик, и я надеюсь использовать ipload.

Вот мой пример ошибки:

nwn@nwnhost$ echo "select CURRENT as col1,null as col2 from sysdual" | dbaccess sysmaster

Database selected.


  201: A syntax error has occurred.
Error in line 1
Near character position 29


Database closed.

1 Ответ

2 голосов
/ 06 февраля 2020

Приведите NULL к нужному типу:

SELECT CURRENT AS col1, NULL::INTEGER AS col2
  FROM sysmaster:"informix".sysdual;
...