Sybase合并来自多个数据库的表

时间:2020-08-05 12:46:25

标签: sql sybase sqlanywhere

我有一个名为DBS的SQL Anywhere 12服务器 在DBS服务器内部,我有80个总是在变化的数据库(添加新数据库) 我需要:

  1. 获取服务器DBS上所有数据库的列表
  2. 遍历每个数据库,如果它具有名为MyTable1,MyTable2,MyTable3的表,则将每个表合并到All_DBs_MyTable1,All_DBs_MyTable2,All_DBs_MyTable3
  3. 每个表使用相同的登录名并通过
  4. 还需要合并来自MsSql,Firebird_64,Mysql和XML的其他远程数据库的表,这些表的所有结构都相同,但仅列名称不同

我在DBS服务器中创建了新数据库,并在该数据库中尝试创建远程服务器

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

但是它需要处于循环中

使用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;

0 个答案:

没有答案