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: | 找不到对应的视图,看是否是权限失效了还是视图报错 |