首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sql Compact和__sysobjects

Sql Compact和__sysobjects
EN

Stack Overflow用户
提问于 2009-09-06 00:49:19
回答 1查看 653关注 0票数 0

我有一些在事务内创建表的SQL Compact查询。这主要是因为我需要模拟临时表,而SQL Compact不支持临时表。为此,我创建了一个真实的表,然后在事务结束时删除它。

这基本上是可行的。但是,有时在创建表时,Sql Compact会尝试获取__sysobjects表上的页级锁。如果有多个并发查询正在运行创建“临时”表,则尝试获取页锁定可能会导致死锁,随后会出现SqlLockTimeout异常。

对于普通的表,我可以使用"with (rowlock)“提示来解决这个问题。但是,因为我没有编写插入到__sysobjets中的查询(SQL server在响应"create table“时会这样做),所以我不能这样做。

有没有人知道我有什么办法可以解决这个问题?

我考虑过将表创建从事务中删除,但这可能会产生幻影临时表,然后我需要定期清理这些临时表。理想情况下,如果可能的话,我希望避免这种情况。

EN

回答 1

Stack Overflow用户

发布于 2009-09-06 02:29:14

我认为您在创建常规表而不是#temp表时肯定会遇到并发问题。

我不知道SQL Server Compact edition不允许您创建#Temp表。

改用表变量怎么样?这对你有用吗?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1384614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档