远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从http://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站http://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 点击这里给我发消息
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

create default

说明 如果插入时没有显式地提供要插入列 (或用户定义的数据类型的所有 列)中的值,则指定一个值。

语法 create default [owner.]default_name as constant_expression

参数 default_name

是缺省值名称,必须符合标识符规则,并且不能是变量。指定所有者 的名称,以创建由当前数据库中的其他用户拥有的另一个同名缺省 值。 owner 的缺省值是当前用户。

constant_expression 是不包括任何列或其它数据库对象的名称的表达式。它可以包括全局 变量和不引用数据库对象的内置函数。用引号将字符和日期常量括起 来并使用 “0x”作为二进制常量的前缀。

示例 示例 1 创建一个名为 D1 并使用 @@spid 全局变量的缺省值:

create default D1 as @@spid

示例 2 定义一个缺省值,然后将其绑定到适当的列或用户定义数据类型:

create default phonedflt as "UNKNOWN" sp_bindefault phonedflt, "authors.phone"

缺省值只有在 authors 表的 phone 列中没有条目时起作用。无条目与空值

条目是不同的。若要获取缺省值,请对列列表 (不含具有缺省值的列) 发出 insert 命令。

示例 3 创建缺省值 todays_date,它将当前日期插入到缺省值要绑定的列:

create default todays_date as getdate ()

用法 使用 sp_bindefault 将缺省值绑定到列或用户定义的数据类型 – 但不 能绑定到 Adaptive Server 提供的数据类型。

可以在不解除绑定旧缺省值的情况下将新的缺省值绑定到数据类 型。新的缺省值会覆盖并解除绑定旧的缺省值。

create default 在创建缺省值之前会针对检查约束执行错误检查。

若要隐藏缺省值的源文本,请使用 sp_hidetext

限制

只能在当前数据库中创建缺省值。

不能将 create default 语句与其它语句组合在同一批处理中。


在创建一个同名的新缺省值之前,必须使用 drop default 删除旧缺省 值;删除缺省值之前,必须使用 sp_unbindefault 解除绑定该缺省值。

数据类型兼容性

当试图向列中插入与列的数据类型不兼容的缺省值时,Adaptive Server 会产生一条错误消息。例如,如果将一个字符表达式 (如 “N/A”) 绑定到一个 integer 列,任何没有指定列值的 insert 都会失败。

如果缺省值对字符列来说太长,Adaptive Server 会根据 string_rtruncation

选项的设置来截断字符串或者产生例外。请参见 set 命令。

获取有关缺省值的信息

缺省值定义存储在 syscomments 中。

将缺省值绑定到列之后,它的对象 ID 会存储于 syscolumns 中。将缺 省值绑定到用户定义数据类型之后,它的对象 ID 存储在 systypes 中。

若要重命名缺省值,请使用 sp_rename

若要获取缺省值文本的报告,请使用 sp_helptext

缺省值和规则

如果列既有缺省值又有规则与其关联,则缺省值一定不能违反规则。不 能插入与规则冲突的缺省值。每次插入这种缺省值时, Adaptive Server 都会产生一个错误消息。

缺省值和空值

如果一列不允许为空,并且没有为该列创建缺省值,那么当用户试图插 入一行但该行不包括此列值时,插入失败,同时 Adaptive Server 产生错 误消息。

1-3 说明缺省值的存在和 NULL NOT NULL 列定义之间的关系。

1-3: 空值与列缺省值之间的关系

列空值类型

无输入,无缺省值

无输入,有缺省值

输入为空,无缺省值

输入为空,存在缺省值

NULL

插入空值

插入缺省值

插入空值

插入空值

NOT NULL

错误,命令失败

插入缺省值

错误,命令失败

错误,命令失败


create table 中指定缺省值

可以使用 create table 语句的 default 子句定义列缺省值作为使用 create default 的替代方法。但是,这些列缺省值是专用于此表的;不能将它们 绑定到其它表。有关完整性约束的信息,请参见 create table alter table

标准 符合 ANSI SQL 的级别Transact-SQL 扩展。

使用 create table 语句的 default 子句创建符合 ANSI SQL 的缺省值。


权限 create default 的权限检查因您的细化权限设置而异。

image

细化权限已启用 在启用细化权限的情况下,您必须具有 create default 特权。要为另一用户创 建缺省值,您必须具有 create any default 特权。

细化权限已禁用 在禁用细化权限的情况下,您必须是数据库所有者,或者是具有 sa_role

create default 特权的用户。


审计 sysaudits event extrainfo 列中的值如下:


事件

审计选项

审计的命令或访问权限

extrainfo 中的信息

14

create

create default

角色 – 当前活动角色

关键字或选项 NULL

先前值 NULL

其它信息 NULL

当前值 NULL

代理信息 set proxy 有效时的初始登录名

另请参见 命令 alter table, create rule, create table, drop default, drop rule.

系统过程 sp_bindefault, sp_help, sp_helptext, sp_rename, sp_unbindefault.




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------