文章
· 十一月 24, 2021 阅读大约需 2 分钟

第八十六章 SQL命令 USE DATABASE

第八十六章 SQL命令 USE DATABASE

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

大纲

USE [DATABASE] dbname

参数

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

描述

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

指定的dbname是所需的命名空间和包含数据库文件的对应目录的名称。
指定dbname作为标识符。
命名空间名称不区分大小写。

由于USERSQL保留字,因此必须使用分隔标识符来指定用户命名空间,如下面的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设置也没有改变。
如果事务正在处理中,则事务将继续执行,不会提交或回滚。

讨论 (0)1
登录或注册以继续