举个例子:
表a:
合同号
客户号表b:
合同号
货品号
数量a为主,b为从,通过‘合同号’关联,如果修改已存在记录的合同号(在主表中改),那么怎么合理地更新从表的合同号?用sql语句?我发现主表的合同号更改后,一旦进入从表,那么从表中原来的数据就全没了,因为从表中的合同号与主表的新合同号不一致了。
表a:
合同号
客户号表b:
合同号
货品号
数量a为主,b为从,通过‘合同号’关联,如果修改已存在记录的合同号(在主表中改),那么怎么合理地更新从表的合同号?用sql语句?我发现主表的合同号更改后,一旦进入从表,那么从表中原来的数据就全没了,因为从表中的合同号与主表的新合同号不一致了。
解决方案 »
- 求:控件套装制作方法,制作成功,把分加满!~谢谢
- 关于两个 ClientDataSet 实现lookup形式的问题
- 如何截取字符串最后一个空格前的部分?
- 请大家在Microsofr Word 里面输入"rand(200,99)"后敲回车,看看发生了什么?这是谁的错?
- 关于beforepost响应和post自相矛盾的问题!
- 系统升级的一个问题(from delphi5 to delphi6)!!!急
- Delphi调用IDL混合编程
- 怎样让窗体变透明??
- stringgrid的问题
- SOS,急需解决的问题!! 9:00-10:00在线等待...................
- MessageBox问题?
- 用过BusinessSkinForm高手请进
with database1 do
begin
if not intransaction then
//当数据库不在事务状态时才执行下面的代码
begin
starttransaction //开始事务
try
…………
//具体的对两个表的id实现更新的代码
commit;//提交
except
rollback;//如果中途发生错误,取消已经完成的操作
raise;//从新触发异常,交给后面的处理过程
end
end;
end;
子表自然定位不到新ID,
自然也就没有数据了
这样修改主表ID后POST,数据库会自己修改从表ID,你自己什么都不用做。
明白了吗?呵呵!这是其中的一个简单有效的方法
这样修改主表ID后POST,数据库会自己修改从表ID,你自己什么都不用做。
明白了吗?呵呵!这是其中的一个简单有效的方法
update 从表 set id=新id where id=(select id from deleted)
按你的要求,我觉得根本就不应该改id号,因为正是这个id是连接多个表的关键字段。
如果业务真需要改合同号,那么建议合同号就不要作为表的主键,最好单独做一个合同号字段,各表之间还是用原来的id来连接。