SQL 2000 疑难问题 - MS-SQL Server / 疑难问题
客户那边用的是sql2000数据库,因为业务的需要,我需要调用其他部门编写的sp来获得一些数据并插入到一张表A中。这张表我自己负责处理。(初步打算使用windows服务隔一段时间执行一次。更新A表,保持数据的相对实时性)
问题:如果sp正在执行的时候,我在另一边查询A表,会不会造成数据不一致的问题,会的话,这个问题该怎么解决或避免?
思路:找到一个能够判断sp是否正在执行的一个方法,或者判断A表是否正在被执行某些操作。然后程序等待操作完后在进行数据查询等操作。
问题:是否存在上面的两种方法?有没有更为快捷高效的解决方案?
请各位高手进行指点,谢谢
锁住记录.
SQL code:
1 如何锁一个表的某一行
A 连接中执行
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
begin tran
select * from tablename with (rowlock) where id=3
waitfor delay '00:00:05'
commit tran
B连接中如果执行
update tablename set colname='10' where id=3 --则要等待5秒
update tablename set colname='10' where id<>3 --可立即执行
2 锁定数据库的一个表
SELECT * from table WITH (HOLDLOCK)
注意: 锁定数据库的一个表的区别
SELECT * from table WITH (HOLDLOCK)
其他事务可以读取表,但不能更新删除
SELECT * from table WITH (TABLOCKX)
其他事务不能读取表,更新和删除
会造成数据不一致,如果你需要保持一致的话建议使用事务并编写逻辑判断~~~
其实不用担心这个问题,因为在数据更新的过程中,如果数据量比较大的话,查询会自动阻塞并延时~~~
wi
相关问答:
从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
<folder state="unchecked&qu ......
1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......
原SQL语句SQL code:
SELECT t6.FName '操作工',t1.FDate '日期',t5.FName '制单人',t3.FName '设备',t4.FName '班制',
t7.FBillNo '工艺指令单号',t8.FName '岗位',t2. ......
现在有一个部门表dept(部门名称,部门号。。)有一个人员表emp(姓名,人员编号,职位,薪资,部门)
emp表中的内容是这样的:
a 1 工程师 3000 软件部
b 2 普通员工 2000 硬件部
c 3 工程师 4000 硬件部
d ......
如何从仪表中将根据日期查询的结果按最新时间(像新闻那样)的方式排列出来
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结 ......