一段触发器的代码,有些地方不明白请大家请教下 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字段新值为 “” ,就不变,还是“” sqlplus添加字段出错 xp上安装oracle10G报错 oracle重装的问题 Oracle中很奇怪的一个问题 一个表的信息如何关联后横向输出 oracle的存储过程 怎样把库里面的一部分数据(比如说用sql查询得到的)导出成dmp? 急救!!! 如何全文检索blob型字段???? 请问各位高手应该怎样处理此种情况。多谢了! 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字段新值为 “” ,就不变,还是“”