对于SELECT INTO和FETCH语句,在V5R1以前,如果宿主变量的个数少于用户select的column数,系统的sqlcode仍然为0,但是sqlstate=01503。这可以说是个BUG,从SQL标准的规定来说,对这种情况系统应该警告:sqlcode=30&sqlstate=01503。UDB为支持标准,从V5R1开始,对于上述的情况,报警告错sqlcode=+30&sqlstate=01503。 (SQL0030 Number of host variables less than result values. ) 建议使用sqlstate来侦错尽管db2/400仍然支持sqlcode,因为最新的sql标准已经不支持sqlcode。
|
|