Sybase объединяет таблицы из нескольких баз данных - PullRequest
0 голосов
/ 05 августа 2020

У меня SQL Сервер Anywhere 12 с именем DBS Внутри сервера DBS у меня есть 80 баз данных, которые всегда меняются (добавляются новые). Мне нужно:

  1. Получить список всех баз данных на сервере DBS
  2. L oop через каждую базу данных, и если в ней есть таблицы с именами MyTable1, MyTable2, MyTable3, затем объедините каждую в All_DBs_MyTable1, All_DBs_MyTable2, All_DBs_MyTable3
  3. Каждая таблица использует один и тот же логин и передает
  4. Также необходимо объединить таблицы из других удаленных баз данных из Ms Sql, Firebird_64, Mysql и XML, где вся структура одинакова, но отличается только имена столбцов

Я создаю новую базу данных на сервере DBS , и внутри этой базы данных пытается создать удаленные серверы

CREATE SERVER local_db2 
CLASS 'asaodbc' 
USING 'testasiq_db2'
CREATE SERVER local_db3 
CLASS 'asaodbc'
USING   'testasiq_db3'

, но это должно быть в каком-то l oop

Создание определений прокси-таблиц с помощью CREATE EXISTING TABLE для таблиц в других базах данных .

CREATE EXISTING TABLE MyTable1
AT 'local_db2...MyTable1'

Но как автоматизировать этот процесс и запускать из процедуры, когда она мне нужна (при добавлении новой базы данных)? Попытка извлечь имена баз данных из Sybase Central Interactive SQL, но возникла ошибка

Could not execute statement.
Procedure 'sp_helpdb' not found
SQLCODE=-265, ODBC 3 State="42S02"
Line 1, column 1

exec sp_helpdb;
...