小弟正在用PB编一个订单上传的程序,利用数据管道的Update/insert Rows来将订单上传到服务器的SQL Server服务器中。
同时在服务器端编写了触发器来重新编排订单号中的流水号:(订单号格式:日期+产品名+办事处+流水号)
CREATE TRIGGER aa ON Indent_hj
for insert
AS declare @x varchar(40)
select @x=x from liu with(TABLOCKX)
begin
update Indent_hj
set Number= left(inserted.Number,len(inserted.Number)-2)[email protected]
from inserted
where inserted .Number=Indent_hj .Number
update liu
set [email protected]+1
end
现在有如下疑问:
如果上传中网络断开,则需要重新上传,但是已经有部分数据上传成功了,并且已经编排了它们的流水号,这些数据我想是不能再去修改它的,但是重新上传时PB数据管道的Update/insert Rows操作会将已上传的数据进行Update操作,这样订单中的流水号就被客户端表格中的所覆盖了。
所以我想询问如何在服务器端的表格中添加触发器或者约束等来防止修改它们。
有其他解决方案也可以。
------解决方案--------------------
建议上传的临时表,全部上传成功后做数据处理插到正式表中,最后清空临时表,这样处理比较保险