急:关于事务控制的问题,请指教

skypeople 2002-07-23 07:12:53
各位:
我们软件是用DELHPI+SQL SERVER 我前面的一段程序,是在一个事务中操作一个主从表我先将主表记录插入后用一个SELECT 查询出刚插入的主表主健健值,然后在插入子表;如下所示
开始事务
插入主表记录
SELECT (出现问题);
其他数据操作;
事务结束
但是当执行到 SELECT 时数据库被锁死.程序中断;

请高手提供解决办法.请最好不要建议我更改以上模式,因为我的很多代码都是这样写的
...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Methodor 2002-07-24
  • 打赏
  • 举报
回复
Transaction 的 ACID要求:
1、可分性 完成或未完成;
2、一致性 事务不能把系统带入到一个未知的、不一致的状态;
3、孤立性 事务必须独立,不能依靠或影响其它事务;
4、持久性 当事务完成时,事务的目标就达到了并且没有进一步的操作无法完成的原因。
以上规则是对开发者的要求,并非事务自身强制的。
~~
Yang_ 2002-07-23
  • 打赏
  • 举报
回复
@@IDENTITY
ba_saner 2002-07-23
  • 打赏
  • 举报
回复
你的主表主健用的IDENTITY(1,1)定义的?
想要找到刚插入记录的主健值,不一定用SELECT
我记得有一个不错的东西,好像是什么函数
专门用于代替你这里的SELECT
查一查以前的贴子
gzhughie 2002-07-23
  • 打赏
  • 举报
回复
你的select不应该包含在事务中,其实事务主要是解决insert,updater,delete这类对数据库有改动操作的,select语句只不过是察看你的数据库,所以建议你把你的事务改称这个样子


开始事务
插入主表记录
事务结束
SELECT
其他数据操作;(如有必要,可以继续开始新的事务)


34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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