欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第八十六章 SQL命令 USE DATABASE

程序员文章站 2024-03-18 21:41:34
...

文章目录

第八十六章 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设置也没有改变。
如果事务正在处理中,则事务将继续执行,不会提交或回滚。