Псевдоним базы данных в Informix - PullRequest
2 голосов
/ 22 декабря 2008

В Informix я могу запустить оператор SQL, который использует другую базу данных:

INSERT INTO other_db:mytable ...

Я бы хотел "объединить" обе базы данных, но я бы хотел сделать это "шаг за шагом".

Сначала я хочу переместить все данные из other_db в основную базу данных. и сделайте псевдоним что other_db = main_database. Таким образом, я буду иметь время удалить «other_db:» из всех операторов.

Как установить псевдоним базы данных?

1 Ответ

4 голосов
/ 23 декабря 2008

Я не знаю ни одного метода создания псевдонима для всей базы данных.

Однако вы можете создавать синонимы для разных баз данных в виде:

DATABASE old_db;
CREATE SYNONYM table_name FOR new_db:table_name;

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

Вы можете запросить systables, чтобы определить реальные таблицы в old_db, то есть:

DATABASE old_db;
SELECT tabname, nrows
  FROM systables
  WHERE tabtype = "T"
    AND tabid > 99 -- exclude internal tables

Количество строк, конечно, будет зависеть от разумного тока UPDATE STATISTICS.

Надеюсь, это поможет.

...