第八十六章 SQL命令 USE DATABASE

236 阅读3分钟

「这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战

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

1.什么是设计模式

1-1 设计模式发展历史

首先,来看一下什么是设计模式,我们先了解一下设计模式的发展历史,1987年肯特·贝克和沃德·坎宁安首次提出了设计模式的思想,一年后,也就是1988年,Erich Gamma开始尝试把这种思想改写适用于软件开发,James Coplien 在1989年至1991 年也在利用相同的思想致力于C++的开发,1991年,(Erich Gamma 与Richard Helm, Ralph Johnson ,John Vlissides)GoF四人帮 合作出版了Design Patterns ,在此书中共收录了23个设计模式。他们在此书中的协作实现了软件设计模式的突破,该书首次提到了软件开发中设计模式的概念。

1-2 什么是设计模式

介绍了设计模式的发展历史,那么什么是设计模式呢,说白了,设计模式是一套理论。是由上面提到的软件界的先辈们总结出的一套可以反复使用的经验,他可以提高代码的可复用性,增强系统的可维护性,以及解决一系列的复杂问题,是对面向对象设计中反复出现的问题的解决方案。

作为开发人员,我们都知道,需求是最难把握的。我们可以分析现有的需求,预测可能发生的变更,但我们不能控制需求的变更,虽然需求的变更是不可控的,但幸运的是,设计模式可以给我们指导,设计模式有6大原则,分别是单一原则、开闭原则、依赖颠倒原则、里氏替换原则、迪米特法则,和接口隔离原则。这6大原则只是指导思想,而真正到关键作用的指导方法,就是下面的这23中设计模式。