使用 DATABASE 语句可打开一个能访问的数据库作为当前数据库。该语句是 SQL ANSI/ISO 标准的扩展。
您可以使用 DATABASE 语句选择数据库服务器上的任何数据库。要选择另一台数据库服务器上的数据库,应指定数据库服务器的名称及数据库名。
如果用数据库名称包括当前(或另一个)数据库服务器的名称,则数据库服务器名称不可以大写。(有关指定数据库服务器名称的语法,请参阅数据库名。)
当数据库已打开时,发出 DATABASE 语句会在打开的新的数据库之前关闭当前的数据库。关闭当前数据库会释放数据库服务器的所有游标资源,使所有已声明至该点的游标无效。如果通过 SET SESSION AUTHORIZATION 语句更改了 user 规范,则在打开新数据库使会恢复原始的用户名。
如果先前的 CONNECT 语句已经和数据库建立了一个显式连接,而且该连接仍然是当前连接,那么在使用 DISCONNECT 语句关闭该显式连接之前,不能使用 DATABASE 语句(或任何创建隐式连接的语句)。
当前用户(或 PUBLIC)必须拥有对 DATABASE 语句中指定的数据库的“连接”特权。当前用户不可以拥有同数据库中现有角色相同的用户名。
DATABASE 语句在多语句 PREPARE 操作中是一个无效语句。