如何同时处理多个SQL语句

x03570227 2006-05-22 07:16:31
有三张表
表1:作者
表2:论文
表3:作者与论文之间的关系
字段包括作者ID,论文ID

当添加论文信息的时候,不仅要将论文信息插入到表2中,还要将作者与论文之间的关系插入到表3中,现在我只能做两次操作实现这样的功能.这样做的话当第一次插入操作结束之后,如果网络断了或者其它原因,第二次插入操作不能执行就会造成数据库里数据不一至的现在

怎么样让保证两次插入操作同时进行,或者说其中任何一次插入操作不成功时,两插入操作都不成功??
...全文
160 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
江鸟的坚持 2006-06-11
  • 打赏
  • 举报
回复
要是sql server也可以考虑用触发器
x03570227 2006-06-11
  • 打赏
  • 举报
回复
谢谢各位的指点,这里好多方法以前都没想过,呵呵,这回有思路了,感谢csdn的所有网友
什么都不能 2006-05-22
  • 打赏
  • 举报
回复
事务
conn.beginTransmit
if err<>0 then
conn.rollbacktransmit
else
conn.commitTransmit
end if
dhluo 2006-05-22
  • 打赏
  • 举报
回复
使用事务是最保险最正规的方法。
cqq 2006-05-22
  • 打赏
  • 举报
回复
其实,一般情况下还是可以的,发生的概率比较小。

再简单点,可以

sql = "insert into 论文;insert into 对应"

conn.execute sql

将两个sql语句一起执行,只要有一个不成功,就都不会执行。
ahhisoft 2006-05-22
  • 打赏
  • 举报
回复
select a.*,b.*,c.* from 作者表 a,论文表 b,关联表c

然后rs.add
ahhisoft 2006-05-22
  • 打赏
  • 举报
回复
题外话:
不妨将作者,论文,ID放到一个表里。
slawdan 2006-05-22
  • 打赏
  • 举报
回复
用存储过程,并且使用事务

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧