易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关问答:

Asp+sql server问题 - Web 开发 / ASP

我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例: ......

求一SQL - MS-SQL Server / 基础类

tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......

求一条SQL语句 - MS-SQL Server / 应用实例

原SQL语句SQL code:

SELECT t6.FName '操作工',t1.FDate '日期',t5.FName '制单人',t3.FName '设备',t4.FName '班制',
t7.FBillNo '工艺指令单号',t8.FName '岗位',t2. ......

sql语句问题 - MS-SQL Server / 疑难问题

现在有一个部门表dept(部门名称,部门号。。)有一个人员表emp(姓名,人员编号,职位,薪资,部门)
emp表中的内容是这样的:
a 1 工程师 3000 软件部
b 2 普通员工 2000 硬件部
c 3 工程师 4000 硬件部
d ......

关于Sql的问题 - .NET技术 / ASP.NET

将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊


多谢,可以啦,高手啊

直接执行就行了

exec ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号