使用 CLOSE DATAbase 语句关闭当前数据库的隐式连接。该语句是 SQL ANSI/ISO 标准的扩展。
用法
当发出 CLOSE DATAbase 语句时,紧接其后您仅能发出以下 SQL 语句:
⚫CONNECT
⚫CREATE DATAbase
⚫DATAbase
⚫DROP DATAbase
⚫DISCONNECT
(这里,只有在执行 CLOSE DATAbase 之前存在显式连接的情况下,DISConNECT 语句才有效。)
在删除当前数据库之前发出 CLOSE DATAbase 语句。
如果当前数据库支持事务日志记录,并且如果已启动了事务,则必须发出 COMMIT WORK 或ROLLBACK WORK 语句,然后才能使用 CLOSE DATAbase 语句。
以下示例显示了如何使用 CLOSE DATAbase 语句来删除当前数据库,它的会话已建立一个隐式连
接:
DATAbase stores_demo;
. . .
CLOSE DATAbase;
DROP DATAbase stores_demo;
在 Gbase 8s ESQL/C 中,CLOSE DATAbase 语句不能出现在多语句的 PREPARE 操作中。如果先前的 ConNECT 语句已经和数据库建立了显式连接,而且该连接仍然是当前连接,那么就不能使用 CLOSE DATAbase 语句关闭该显式连接。(可以使用 DISConNECT 语句关闭该显式连接。)
如果在 WHENEVER 语句调用的 UDR 中使用 CLOSE DATAbase 语句,则应在 ROLLBACK WORK 语句之前指定 WHENEVER SQLERROR ConTINUE 和 WHENEVER SQLWARNING ConTINUE 。如果 ROLLBACK WORK 语句遇到错误或警告,则此操作可防止程序循环。
当发出 CLOSE DATAbase 语句时,任何已声明的游标不再有效。您必须重新声明任何想要使用的游标。
在 ANSI 兼容的数据库中,如果在没有发出 CLOSE DATAbase 、COMMIT WORK 或DISConNECT 语句的情况下,以非交互式方式从 DB-Access 退出时没有遇到错误,则数据库服务器自动提交任何打开的事务。



