赞
踩
当在 CREATE DATABASE 语句中使用 LOG MODE ANSI 选项时,您创建的数据库就是兼容 ANSI 的数据库,且符合 SQL 语言的 ANSI/ISO 标准。
以下示例创建兼容 ANSI 的数据库:
CREATE DATABASE employees WITH LOG MODE ANSI; 兼容 ANSI 的数据库与不兼容 ANSI 的数据库存在几个方面的不同。包括以下特征的不同:
⚫ 所有 SQL 语句自动包含在事务中。
⚫ 所有数据库使用未缓冲的日志记录。
⚫ 实施所有者命名。
除非您是所有者,否则查看任何表、视图、同义词、索引或约束时必须使用所有者名称。 除非您将所有者名称包含在引号中,否则所有者名称中的字母缺省采用大写字符。(要防 止在未分隔所有者名称中小写字母升档,您可以将 ANSIOWNER 环境变量设置为 1。) 此外,UDR 的例行签名包含所有者的名称;在不兼容 ANSI 的数据库中,它只对 sysdbopen( ) 和 sysdbclose( ) 程序为真。
⚫ 对于会话,缺省隔离级别为 REPEATABLE READ 。
⚫ 对象上的缺省权限与那些不兼容 ANSI 的数据库不同。当您创建表或同义词时,缺省情况 下其它用户不接收对其存取权限(如果是 PUBLIC 组的成员)。
⚫ 所有的 DECIMAL 数据类型时定点值。如果您声明列为 DECIMAL(p),则缺省大小是 零,表明只能存储整型值。(在不兼容 ANSI 的数据库中,DECIMAL(p) 是浮点数据类 型,它的规模大到足以存储一个值的指数符号。)
兼容与不兼容 ANSI 的数据库之间存在其它小差别。这些差别在此手册中与其它相关 SQL 语句一 起记录。
创建兼容 ANSI 的数据库不意味着当您运行数据库时,自动收到 SQL 语法 ANSI/ISO 标准的 GBase 8s 警告。还必须使用 -ansi 标记或 DBANSIWARN 环境变量来接收这类警告。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。