近期负责一个银行方面的项目,需要用到DB2实现多数据库版本切换。初步接触DB2,对于它的管理工具(IBM DATA STUDIO)虽然与ORACLE\MSSQL大同小异,但还是有些东西不一样的。比如什么是它的模式。

如图:


实际上DB2的SQL结构跟MSSQL也相差无几,但在不了解什么是DB2模式的情况下,写个 SECLECT * FROM TABLES  会提示未定义的TABLES.很疼!请看如下资料:

DB2模式简介:

模式(Schema)是一个逻辑分组,每个数据库内部的对象在创建时,都可以显式或者隐式地指定模式,同一个模式下的对象构成一个集合。从某种角度来说,模式与用户比较相似,但是与用户也有不同之处,DB2 的用户必须存在于操作系统中,而模式并不需要存在于操作系统中,也不需要与用户一一对应上。

通常情况下,使用数据对象都需要指定模式名称和对象名称,即:

模式名称 . 对象名称

如 xudaxia.eg代表模式 xudaxia下的表 eg。不同的模式下,对象名称可以相同,不会相互干扰。

显式创建模式的命令为:

CREATE SCHEMA < 模式名称 > [AUTHORIZATION 用户名 ]

该命令的含义是创建一个指定名称的模式,如果包含 AUTHORIZATION 子句,则表示该用户是这个模式的拥有者。

可以给模式授予相应的特权。

如果在创建某个对象时指定了模式名称,而该模式还不存在,则会隐式地创建该模式,如:

CREATE TABLE my.table1( …… )

如果模式 my 不存在,则会创建该模式,接着在模式 my 下创建表 table1。

如果在创建对象或者查询数据的时候没有指定模式名称,系统会使用专用寄存器 CURRENT SCHEMA 中指定的值作为模式名称。可以使用如下 DB2 命令查看该专用寄存器的值:

VALUES CURRENT SCHEMA

可以通过如下 DB2 命令修改该寄存器中的值:

SET CURRENT SCHEMA < 模式名称 >

该命令的含义是创建一个指定名称的模式,如果包含 AUTHORIZATION 子句,则表示该用户是这个模式的拥有者。

可以给模式授予相应的特权,具体操作请参见 5.4 节。

如果在创建某个对象时指定了模式名称,而该模式还不存在,则会隐式地创建该模式,如:

CREATE TABLE my.table1( …… )

如果模式 my 不存在,则会创建该模式,接着在模式 my 下创建表 table1。

如果在创建对象或者查询数据的时候没有指定模式名称,系统会使用专用寄存器 CURRENT SCHEMA 中指定的值作为模式名称。可以使用如下 DB2 命令查看该专用寄存器的值:

VALUES CURRENT SCHEMA

可以通过如下 DB2 命令修改该寄存器中的值:

SET CURRENT SCHEMA < 模式名称 >

这样该专用寄存器中记录的就是指定的模式名称。

如果没有专门指定名称,DB2 使用当前登录的用户名作为该专用寄存器的值。

What's DB2 模式?的更多相关文章

  1. db2模式

    模式: 已命名对象的集合,可以对对象进行逻辑分组. 为用户A创建C模式: CREATE SCHEMA <schema-name> [ AUTHORIZATION <schema-ow ...

  2. DB2和Oracle区别

    转 http://blog.chinaunix.net/uid-7374279-id-2057574.html 写在前面:今天客户来访(日本人),问我DB2和Oracle区别.因为不是DBA(勉强的理 ...

  3. oracle与DB2

    1.体系结构,DB2的实例和数据库分开的做法,我个人还是比较喜欢的,因为实例可以创建多个,数据库的恢复直接恢复到实例下就可以了,相对ORACLE简单多了. 2.管理工具,DB2的管理工具做得太简陋了, ...

  4. oracle与DB2的一些架构

    首先,我们需要理解 Oracle 使用的架构,并理解它与 DB2 的不同之处.图 1 展示了 Oracle 的系统结构.将该图与 图 2 进行比较,后者显示了 DB2 的系统结构.在阅读本文的时候,为 ...

  5. DB2学习笔记备忘 2018.5.9

    DB2安装的时候选择了和系统用户一致的选项,然后登陆的时候,连接的时候输入的就是计算机用户的用户名和密码. 1.3 DB2数据库体系结构 系统 一个系统表示DB2的一个安装.在一个由很多及其组成的网络 ...

  6. (转)使用 DB2 HADR 选择用于灾难恢复的 SUPERASYNC 模式

    使用 DB2 HADR 选择用于灾难恢复的 SUPERASYNC 模式 Vishnu G 和 Hemant Singh2013 年 6 月 25 日发布 WeiboGoogle+用电子邮件发送本页面 ...

  7. db2查看当前用户模式及当前用户的权限

    1.连接数据库:db2 connect to appdb 2.查询当前用户模式:select current schema from sysibm.sysdummy1 或 select current ...

  8. db2日志模式、备份归档、恢复解析

    DB2的日志分为两种模式,日志循环与归档日志,也就是非归档和归档模式.下面就具体介绍一下这两种方式以及和备份归档设置的关系. 一.日志循环 这是默认方式,也就是非归档模式,这种模式只支持(backup ...

  9. 微软Azure 经典模式下创建内部负载均衡(ILB)

    微软Azure 经典模式下创建内部负载均衡(ILB) 使用之前一定要注意自己的Azure的模式,老版的为cloud service模式,新版为ARM模式(资源组模式) 本文适用于cloud servi ...

随机推荐

  1. JBPM4.4部署到tomcat6异常解决办法

    java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.ser ...

  2. 最短路(数据处理):HDU 5817 Ice Walls

    Have you ever played DOTA? If so, you may know the hero, Invoker. As one of the few intelligence car ...

  3. HDU-2551 竹青遍野

    http://acm.hdu.edu.cn/showproblem.php?pid=2551 妙用for循环. 竹青遍野 Time Limit: 2000/1000 MS (Java/Others)  ...

  4. SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别

    原文地址 MS SQL大值数据类型varchar(max).nvarchar(max).varbinary(max) 在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max). ...

  5. HDOJ/HDU 1180 诡异的楼梯(经典BFS-详解)

    Problem Description Hogwarts正式开学以后,Harry发现在Hogwarts里,某些楼梯并不是静止不动的,相反,他们每隔一分钟就变动一次方向. 比如下面的例子里,一开始楼梯在 ...

  6. 曾经记录——asp.net中的点滴

    “<%#....%>”这是数据绑定,里面可以调用C#的方法,比如在数据控件里执行绑定某个字段<%# Eval("Name")%>这样帮顶一个Name的字段. ...

  7. jQuery技术内幕预览版.pdf1

    第一章 总体构架 jQuery模块可以分为3部分:入口模块.底层支持模块和功能模块 浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其它模块基于测试结果解决浏览器之间的兼容性问题 回调函 ...

  8. Hadoop之hive安装过程以及运行常见问题

    Hive简介 1.数据仓库工具 2.支持一种与Sql类似的语言HiveQL 3.可以看成是从Sql到MapReduce的映射器 4.提供shall.Jdbc/odbc.Thrift.Web等接口 Hi ...

  9. 8-6-Exercise

    HDU 1003    Max Sum 题意:给出一串数字,求出其中某段连续的数字之和最大的值,同时要输出起点的位置和终点的位置~~~ 方法一: 用sum记录某一段和的值,maxx为目前为止最大的su ...

  10. 微信开发第4章 通过accesstoken获取用户标签管理

    通过access_token获取用户标签管理: 1.获取标签列表 调用接口为: http请求方式:GET(请使用https协议) https://api.weixin.qq.com/cgi-bin/t ...