GBASE南大通用 访问其他数据库服务器

发布时间:2024年01月12日

通过限定数据库对象(表、视图、同义词或例程)的名称,您可访问外部数据库中的任何 表或例程。 当外部表与当前数据库位于同一数据库服务器上时,您必须以数据库名称和冒号限定对象 名称。例如,要引用不是本地数据库的数据库中的表,下列 SELECT 语句访问来自外部数 据库的信息:

SELECT name, number FROM salesdb:contacts?

在此示例中,查询从表 contacts 返回数据,该表在数据库 salesdb 中。 远程数据库服务器是不是当前数据库服务器的任何数据库服务器。当外部表在远程数据库 服务器上时,您必须以数据库服务器名称和数据库名称来限定数据库对象的名称,如下例 所示:

SELECT name, number FROM salesdb@distantserver:contacts?

在此示例中,查询从表 contacts 返回数据,该表在远程数据库服务器 distantserver 上的数 据库 salesdb 中。 要了解关于如何在外部数据库中指定数据库对象的语法和规则,请参阅《GBase 8s SQL 指 南:语法》。

1 访问 ANSI 数据库 在 ANSI 数据库中,对象的所有者是对象名称的一部分: ownername.objectname。当当前 数据库和外部数据库都是 ANSI 数据库时, 除非您是该对象的所有者,否则您必须包括 所有者名称。 下列 SELECT 语句展示完全限定的表名称:?

SELECT name, number FROM salesdb@aserver:ownername.contacts?

提示: 您始终可“超限定”对象名。即,您可指定完全的对象名称, database@servername:ownername.objectname,即使在您不需要完全的对象名称的情况下。?

2 在外部数据库服务器之间创建连接 您可在连接中使用相同的表示法。当您显式地指定数据库名称时,长的表名称可能会比较 累赘,除非您使用别名来缩短它们,如下例所示: SELECT O.order_num, C.fname, C.lname FROM masterdb@central:customer C, sales@boston:orders O WHERE C.customer_num = O.Customer_num GBase 8s SQL 指南:教程 南大通用数据技术股份有限公司 - 196 - 8.1.3 访问外部例程 要引用不是当前数据库服务器的数据库服务器上的例程,请以数据库服务器名称和数据库 名称(以及所有者名称,如果远程数据库符合 ANSI 的话)来限定例程名称,如下列 SELECT 语句所示:

SELECT name, salesdb@boston:how_long()?

?FROM salesdb@boston:contacts??

文章来源:https://blog.csdn.net/weixin_47390342/article/details/135535435
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。