一段触发器的代码,有些地方不明白请大家请教下 IF 6 - length(to_char(:NEW.yzbb)) > 0 and 6 - length(to_char(:NEW.yzbb)) <> 6 THEN str_yzbb := lpad(to_char(:NEW.yzbb),6,'0'); ELSIF 6 - length(to_char(:NEW.yzbb)) = 6 THEN str_yzbb := ''; END IF;以上代码大体意思是什么啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果 6 减 (yzbb字段新值的长度) > 0 并且 6 减 (yzbb字段新值的长度) 不等于 6那么 给 str_yzbb 赋值 一个六位的字符串,不足6位从左边用0补齐6位(123->000123)否则 如果 6 减 (yzbb字段新值的长度) = 6 (也就是yzbb字段新值为空) 给 str_yzbb 赋值为空结束 当你INSERT或UPDATE这的表的时候,检查yzbb字段新值。如果yzbb字段内容的长度大于6,那就截取yzbb字段的前6个字符;如果yzbb字段内容的长度大于6,yzbb字段不变;如果yzbb字段内容的长度小于6并且大于0,那就在yzbb字段前补充“0”到6个字符;如果yzbb字段内容的长度为0,那就在yzbb字段就是“”;For example:如果yzbb字段新值为 “123456789” ,就修改为 “123456”如果yzbb字段新值为 “456789” ,就不变如果yzbb字段新值为 “123” ,就修改为“000123”如果yzbb字段新值为 “” ,就不变,还是“” 楼主,触发器写的不完整哦!全部贴出来当你INSERT或UPDATE这的表的时候,检查yzbb字段新值。 如果yzbb字段内容的长度大于6,那就截取yzbb字段的前6个字符; 如果yzbb字段内容的长度大于6,yzbb字段不变; 如果yzbb字段内容的长度小于6并且大于0,那就在yzbb字段前补充“0”到6个字符; 如果yzbb字段内容的长度为0,那就在yzbb字段就是“”; For example: 如果yzbb字段新值为 “123456789” ,就修改为 “123456” 如果yzbb字段新值为 “456789” ,就不变 如果yzbb字段新值为 “123” ,就修改为“000123” 如果yzbb字段新值为 “” ,就不变,还是“” count(*)问题 in 和 not in 的优化 十万火急呀,请各位oracle大虾们帮帮小妹吧! 修改db_block_size大小 select查询树型结构的表 sql中拆分字符串问题 Oracle服务器启动一段时间后自动关机。急!!! Oracle8.1.6的安装配置问题? 利用copy from 将表从一个用户copy到另一个用户出错? oracle突然查询很慢 Oracle 中的嵌套表 问个SQL语句
那么
给 str_yzbb 赋值 一个六位的字符串,不足6位从左边用0补齐6位(123->000123)
否则
如果 6 减 (yzbb字段新值的长度) = 6 (也就是yzbb字段新值为空)
给 str_yzbb 赋值为空
结束
如果yzbb字段内容的长度大于6,那就截取yzbb字段的前6个字符;
如果yzbb字段内容的长度大于6,yzbb字段不变;
如果yzbb字段内容的长度小于6并且大于0,那就在yzbb字段前补充“0”到6个字符;
如果yzbb字段内容的长度为0,那就在yzbb字段就是“”;
For example:
如果yzbb字段新值为 “123456789” ,就修改为 “123456”
如果yzbb字段新值为 “456789” ,就不变
如果yzbb字段新值为 “123” ,就修改为“000123”
如果yzbb字段新值为 “” ,就不变,还是“”
如果yzbb字段内容的长度大于6,那就截取yzbb字段的前6个字符;
如果yzbb字段内容的长度大于6,yzbb字段不变;
如果yzbb字段内容的长度小于6并且大于0,那就在yzbb字段前补充“0”到6个字符;
如果yzbb字段内容的长度为0,那就在yzbb字段就是“”;
For example:
如果yzbb字段新值为 “123456789” ,就修改为 “123456”
如果yzbb字段新值为 “456789” ,就不变
如果yzbb字段新值为 “123” ,就修改为“000123”
如果yzbb字段新值为 “” ,就不变,还是“”