用VC写了两个处理采集数据的线程.
两个线程都调用了存储过程,一个线程是处理完数据,删除采集数据.如:--处理业务....DELETE cj_line WHERE cj_lsh = @cj_lsh and cj_ip = @cj_ip另一个线程是不停的向表插入采集数据.
IF NOT EXISTS(SELECT * FROM cj_line WHERE cj_ip = @cj_ip AND cj_date = @cj_date )
BEGIN
--插入数据
INSERT cj_line(cj_lsh,cj_ip,data_type,cj_data,cj_date)
VALUES(GETDATE(),@cj_ip,@data_type,@cj_data,@cj_date)
END 表cj_line字段cj_lsh和cj_ip是主键偶尔在插入数据的时候会出现"行句柄引用了一个已被删除的行或被标识为删除的行"的错误,不知道为什么会产生的问题.是什么原因造成的.
两个线程都调用了存储过程,一个线程是处理完数据,删除采集数据.如:--处理业务....DELETE cj_line WHERE cj_lsh = @cj_lsh and cj_ip = @cj_ip另一个线程是不停的向表插入采集数据.
IF NOT EXISTS(SELECT * FROM cj_line WHERE cj_ip = @cj_ip AND cj_date = @cj_date )
BEGIN
--插入数据
INSERT cj_line(cj_lsh,cj_ip,data_type,cj_data,cj_date)
VALUES(GETDATE(),@cj_ip,@data_type,@cj_data,@cj_date)
END 表cj_line字段cj_lsh和cj_ip是主键偶尔在插入数据的时候会出现"行句柄引用了一个已被删除的行或被标识为删除的行"的错误,不知道为什么会产生的问题.是什么原因造成的.
解决方案 »
- 求一句SQL语句
- 局域网服务器读取数据问题
- Garnett_KG接分贴之三
- select 语句是否需要commit
- 如何用SQL server2000存储过程的方法根据本地IP 限制新闻列表的输出,如果本地ip不在某条新闻的IP允许范围内 那么新闻列表就不输出
- 在windows2000专业版上安装sql server2000出现错误,请高手指教!
- 不允许从数据类型varchar到money的隐性转换
- 求助:求两个集合的交集怎么求,要求用数据结构的方法?
- exec("sql_string")的问题,详细看正文!!!在线等回答啊。。。。。
- 请教高手:应该怎样构造这样的存储过程?
- MSSQL 数据库同步问题,
- SQL update 的原理
DELETE cj_line WHERE cj_lsh = @cj_lsh and cj_ip = @cj_ip另一个线程是不停的向表插入采集数据.
IF NOT EXISTS(SELECT * FROM cj_line WHERE cj_ip = @cj_ip AND cj_date = @cj_date )
BEGIN
--插入数据
INSERT cj_line(cj_lsh,cj_ip,data_type,cj_data,cj_date)
VALUES(GETDATE(),@cj_ip,@data_type,@cj_data,@cj_date)
END commit tran
delete 和 insert 这两个处理不是放在一块的
delete 和 insert 这两个处理不是放在一块的每一边都用事务处理