日期:2014-05-18  浏览次数:20584 次

求助各位路过大侠帮忙看看sqlserver触发器能解决这个问题吗?
对方公司程序已经写死插入6位数据
我们硬件只能插入3位数据入库
条件是,程序已经不能更改了
所以必须在数据库想办法了
原数据例:
111
222
33 //如果前面有0 例如033 程序过滤掉了0

现求解决方案入库6位数据每条数据前面加609
例:
609111
609222
609033 //如果33为两位数判断 前面加 6090
请各位大侠帮帮忙吧感激不尽

------解决方案--------------------
SQL code
create trigger tri_tb_ins
on tb
for insert
as
begin
  update tb set tb.sno='609'+right('000'+ltrim(tb.sno),3)
  from inserted i
  where tb.sno=i.sno
end
go