UPDATE bcn_cus_address_end SET
install_addr1=address1,
install_addr2=address2,
install_addr3=address3,
install_addr4=address4,
install_build_code=build_code,
install_addr_code=addr_code,
install_floor=Floor
WHERE
install_addr1 IS null
AND Length(Nvl(address1,' '))<=40
AND Length(Nvl(address2,' '))<=40
AND Length(Nvl(address3,' '))<=80
AND Length(Nvl(address4,' '))<=160运行结果:
ORA-12899: value too large for column "INC"."BCN_CUS_ADDRESS_END"."INSTALL_ADDR2" (actual: 45, maximum: 40)
SELECT Length(address2) FROM bcn_cus_address_end WHERE Length(address2)>40
运行结果:
LENGTH(ADDRESS2)
57
41
44
50
57
43请问,为何update的时候出错???????
install_addr1=address1,
install_addr2=address2,
install_addr3=address3,
install_addr4=address4,
install_build_code=build_code,
install_addr_code=addr_code,
install_floor=Floor
WHERE
install_addr1 IS null
AND Length(Nvl(address1,' '))<=40
AND Length(Nvl(address2,' '))<=40
AND Length(Nvl(address3,' '))<=80
AND Length(Nvl(address4,' '))<=160运行结果:
ORA-12899: value too large for column "INC"."BCN_CUS_ADDRESS_END"."INSTALL_ADDR2" (actual: 45, maximum: 40)
SELECT Length(address2) FROM bcn_cus_address_end WHERE Length(address2)>40
运行结果:
LENGTH(ADDRESS2)
57
41
44
50
57
43请问,为何update的时候出错???????
isntall_addr2 varchar2(40)
失效了么?另外,不加NVL是可以update的。但是address1或address2或address3或address4为null的话就update不了了。