我用PB的数据管道将客户端SQL Anywhere中的订单表格上传到服务器端的SQL Server中
现需要在服务器端编写个触发器,将表格中的订单号字段修改后再保存。
订单号的格式是:日期+产品类型+办事处号+流水号。
触发器实现的功能是:从服务器端数据库中的流水号表格中取出流水号,然后修改上传的订单表格中的订单号,保存后流水号表格中的流水号+1.
订单号的格式在客户端已经编写好了,服务器端只需要修改最后2位流水号
以下是我编写的触发器:
CREATE TRIGGER aa ON table1
FOR INSERT
AS begin
select x from liu with(TABLOCKX)
update table1
set id= left(id,len(id-2))+x
update liu
set x=x+1
end
订单表table1,流水号表liu,流水号是x,订单号是id
检验语法时提示列名x无效
还有个问题是当插入多条数据时,前面已更新过的数据会多次执行set id= left(id,len(id-2))+x
小弟是第一次使用触发器,所以什么都不懂,望指教~
------解决方案--------------------
1.表liu里面有没有x列?
2.多条数据时,这种写法肯定不行,必须用到inserted 表关联!