SAP HANA 报错信息,如何根据报错关键词去进行处理

 HANA建模其实上手会比较快,基本会SQL就可以进行开发。

在实际开发中,难点一个是建模思路,另外一个则是建模中报错的处理。

现在将HANA中报错进行一个整理,这里的并不是完整的报错信息,大家可以根据关键词进行查看。

注:这里主要是存储过程运行中的报错,因为存储过程记录下来了,所以比较好整理。实际建模中的报错可能并不一致,大家如果遇到其他报错,可以评论中交流

报错编码 报错关键词 处理方式
258 insufficient privilege:  没有权限,需要管理员账号赋权
259

invalid table name: 

Could not find table/view

检查报错中对应的表或视图是否存在
270 not enough values:  向一张表中插入数据的时候,insert into 的字段和select字段个数不一致
274

inserted value too large for column: 

向一张表中插入数据的时候,插入字段的位数超出限制了,需要使用alter语句更改字段的位数

如下边把column1从8位改为16位

alter table t alter(column1 nvarchar(16));

287 cannot insert NULL or update to NULL: 

这向一张表中插入数据的时候,插入底表设置不允许为空,但是实际上插入了空值,需要更改是否为空的条件

alter table t alter (column1 integer null)

288 cannot use duplicate table name:  表名重复了,换一个表名
301 unique constraint violated:  违法唯一约束,大概率是插入的时候主键字段有重复
303

invalid DATE, TIME or TIMESTAMP value: 

attribute value is not a date or wrong syntax;

这种情况大概率是在做类型转换的时候,比如to_date的时候,字符并不是正常的时间类型,导致转换错误

如下图2023-09-3001-01 使用 "to_date"转换,那肯定不行的

304 division by zero undefined:  除零错误,分母有零出现
314 numeric overflow:  数字类型的超出了限制,一般decimal比较多
328 invalid name of function or procedure:  找不到对应的方法或存储过程,找对应的目录,看是否没有创建成功
339

invalid number: 

attribute value is not a number

这种一般都是脏数据造成的,在把字符转换为数字的时候,如空字符串、非数字都会造成这样的错误,看是否需要排除或者单独处理
359 string is too long:  Assigned value for parameter or variable "V_UPDATE_TIME" exceeds maximum length of 1 by 9 这种一般是参数或变量超出了长度
391 invalidated view:  找不到对应的视图,看是否是权限失效了还是视图报错

你可能感兴趣的:(HANA,数据库)