第五十四章 SQL命令 INSERT(三)
SQLCODE错误
默认情况下,INSERT是要么全有要么全无的事件:要么完全插入行,要么根本不插入行。 IRIS返回一个状态变量SQLCODE,指示插入是成功还是失败。要将行插入到表中,插入操作必须满足所有表、字段名和字段值要求,如下所示。
表:
- 该表必须已经存在。尝试插入到不存在的表会导致
SQLCODE-30错误。 - 不能将该表定义为
READONLY。尝试编译引用ReadOnly表的插入会导致SQLCODE-115错误。请注意,此错误是在编译时发出的,而不是在执行时发出的。 - 如果通过视图更新表,则不能将该视图定义为只读。尝试这样做会导致
SQLCODE-35错误。如果视图基于分割表,则不能通过使用CHECK OPTION定义的视图进行插入。尝试这样做会导致SQLCODE-35,其中不允许基于带有CHECK选项条件的切片表的视图(sample.myview)使用%msg INSERT/UPDATE/DELETE。 - 必须具有适当的权限才能插入表
字段名称:
- 该字段必须存在。尝试插入不存在的字段会导致
SQLCODE-29错误。 - 插入必须指定所有必填字段。尝试插入行而不为必填字段指定值会导致
SQLCODE-108错误。 - 插入不能包含重复的字段名称。尝试插入包含两个同名字段的行会导致
SQLCODE-377错误。




