如果我在oracle中的一个表上运行SELECT ……. FOR UPDATE查询,但是没有返回任何行,那么仍然会创建一个行级锁。例如,如果执行下面的查询,则不会返回任何记录,因为表中没有值为‘xxx’的object_key。select * from payment_detail where object_key = 'xxx' for update;
但是,在执行查询之后,通过查询表v$locked_obj
我使用在SQL Server中创建的链接服务器将大约50万行从Oracle提取到SQL Server 2005数据库中。我在一个Insert Into select查询中使用了大约50列。我发现查询没有完成,而且它过去一直在无限期运行,直到我手动停止它。但是在大约1小时之后,如果我检查目标表,我能够找到表中的行。但是查询既没有停止执行,也没有释放对desination表的排它锁。当我使用Oracle链接服务器执行一个简单的查询