我有一个表被删除,重新创建毫秒(不能只是插入和删除)。当然,这有时会在另一个存储过程正在运行并试图调用该表时发生。我将如何避免这种情况?我已经尝试了'waitfor'xx秒和不同类型的循环来等待表返回,但我仍然得到错误,说该表不存在或(无效的对象名称'xxxx')感谢您的任何帮助。无效的对象名
Q
无效的对象名
0
A
回答
0
在尝试访问表之前,您需要检查表是否存在。 你可以这样做:
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'Schema'
AND TABLE_NAME = 'Table'))
BEGIN
-- Do stuff with the table
END
另一种选择是使用try/catch语句一起使用动态SQL这样的处理架构错误:
BEGIN TRY
DECLARE @sql nvarchar(100)
SET @sql = 'SELECT * FROM NonExistentTable'
EXEC sp_executesql @sql
END TRY
BEGIN CATCH
SELECT'Do stuff here'
END CATCH
1
删除和事务中重新创建表。
当您从/中读取/写入数据时,请确保事务隔离级别为READ COMMITTED。
这样,表应该总是在那里,因为直到删除和创建表的事务被提交之前,您的读/写操作才会发生。
我认为这是正确的,所以我希望有所帮助。
相关问题
- 1. 无效对象名
- 2. 无效的对象名称
- 3. 无效的对象名'dbo.Languages'
- 4. 无效的对象名'dbo.Customers'
- 5. 无效的对象名称
- 6. 无效的对象名'aspnet_Membership'
- 7. 无效的对象名'DQM.dbo.ST_0043_BLANK_CONSENT_SAP_SIEBEL'
- 8. 无效对象名称'VchReceipt'
- 9. 对象名称'dbo.ApplicationUsers'无效。
- 10. 无效的对象名称'dbo.Table' - EntityFramework 4.1
- 11. 错误“无效的对象名称INFORMATION_SCHEMA.TABLES”
- 12. System.Data.SqlClient.SqlException:无效的对象名称dbo.Slider“
- 13. SqlException:无效的对象名称
- 14. 无效的对象名称'dbo.CategoryIdArray'
- 15. Java/MSSQL:java.sql.SQLException无效的对象名称'TableName'
- 16. 无效的对象名称'tbl_Shading_Analysis'。?
- 17. 无效的对象名称SQL选择
- 18. 无效的对象名称'C'
- 19. 无效的对象名称#subodh“
- 20. SqlException:无效的对象名称'电影'
- 21. 无效的对象名称 - SQL Server 2008
- 22. 无效的对象名称dbo.tbLanguage - ASP.net
- 23. 无效的对象名称'dbo.AspNetUserAspNetRoles'
- 24. 无效的对象名称'@ImageIDsToDelete'
- 25. 名称对象“”是无效的MyBatis
- 26. 无效的对象名称dbo.Quizs
- 27. 无效的对象名称'table1'
- 28. 无效的对象名称客户
- 29. 无效的对象名称错误?
- 30. mssql 2005中的对象名称无效
你我必须张贴一些示例代码 – TheGameiswar
什么就可以被丢弃/重新创建表的原因是什么?为什么不简单[[TRUNCATE]](https://msdn.microsoft.com/zh-cn/library/ms177570.aspx)表? –