第八十六章 SQL命令 USE DATABASE

设置当前名称空间和数据库。

大纲
USE [DATABASE] dbname

参数

  • ​dbname​​ - 当前进程将使用的名称空间和相应的数据库作为当前名称空间。
描述

​USE DATABASE​​命令将当前进程切换到指定的名称空间及其关联的数据库。这允许在SQL中更改名称空间。​


​DATABASE​​关键字是可选的。指定的​


​dbname​​是所需的命名空间和包含数据库文件的对应目录的名称。指定​


​dbname​​作为标识符。命名空间名称不区分大小写。由于​


​USER​​是​​SQL​​保留字,因此必须使用分隔标识符来指定用户命名空间,如下面的​​SQL Shell​​示例所示:

USER>>USE DATABASE Samples
SAMPLES>>USE DATABASE "User"
USER>>

如果指定的​​dbname​​不存在,IRIS将发出​​SQLCODE -400​​错误。​


​USE DATABASE​​命令是一个特权操作。在使用​


​USE DATABASE​​之前,必须以具有适当权限的用户身份登录。如果不这样做,将导致​


​SQLCODE -99​​错误(特权冲突)。使用​


​$SYSTEM.Security.Login()​​方法为用户分配适当的权限:

DO $SYSTEM.Security.Login("_SYSTEM","SYS")
&sql( )

必须具有​​%Service_Login:Use​​权限才能调用​​$SYSTEM.Security​​。登录方法。也可以使用​


​ObjectScript ZNSPACE​​命令或​​SET $NAMESPACE​​语句切换到其他命名空间。

通过xDBC执行

当通过​​xDBC​​执行​​USE DATABASE​​命令时,服务器进程将执行一次模拟的连接重置。清理服务器进程使用的数据结构。但是,没有改变提交模式。​


​Read Committed​​设置也没有改变。如果事务正在处理中,则事务将继续执行,不会提交或回滚。