Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1620838
  • 博文数量: 201
  • 博客积分: 2812
  • 博客等级: 少校
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-18 18:28
个人简介

从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。

文章存档

2016年(1)

2015年(8)

2014年(23)

2013年(50)

2012年(32)

2011年(87)

分类: Sybase

2011-01-19 19:53:04

  有时我们需要知道LOAD TABLE语句在装载数据文件时是否执行正常,有没有发生错误。比如,唯一约束是否违背、数据文件中字段数据类型是否匹配等。下面以一个例子来说明LOAD TABLE的错误处理:
LOAD TABLE service
(
  service_key    '|!'      ,
  call_waiting_flag      '|!'      ,
  caller_id_flag  '|!'      ,
  voice_mail_flag        '|!'      ,
  cellular_flag    '|!'      ,
  internet_flag   '|!'      ,
  isdn_flag        '|!'
)
FROM '/sybiq/import/service.dat'
ESCAPES OFF
QUOTES OFF
NOTIFY 1000000
ROW DELIMITED BY '\x0a'
ignore constraint unique 0,data value 0,all 0 --0表示忽略这种类型的所有错误, n>0表示当发生n+1次时装载停止
Message Log '/sybiq/import/service_msg.log'   --指定错误信息输出日志文件
Row Log  '/sybiq/import/service_row.log'    --指定错误数据写入的文件
Only log Unique, Data Value
Log Delimited By '|!'
WITH CHECKPOINT ON;
COMMIT;
 
  上面的load语句时,如果遇到违反约束的情况,会把相应的错误信息写入service_msg.log,出错的记录写入service_row.log文件中。
阅读(5025) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~