我有一个表被删除,重新创建毫秒(不能只是插入和删除)。当然,这有时会在另一个存储过程正在运行并试图调用该表时发生。我将如何避免这种情况?我已经尝试了'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. 无效的对象名'dbo.Customers'
- 3. 无效的对象名'aspnet_Membership'
- 4. 对象名称'dbo.ApplicationUsers'无效。
- 5. 无效对象名称'VchReceipt'
- 6. 无效的对象名称tabl_login
- 7. 无效的对象名称'TableName'
- 8. 无效的对象名称#subodh“
- 9. System.Data.SqlClient.SqlException:无效的对象名称dbo.Slider“
- 10. Java/MSSQL:java.sql.SQLException无效的对象名称'TableName'
- 11. 无效的对象名称'umbracoDomains'
- 12. 无效的对象名称派生表
- 13. 无效的对象名称dbo.Categories
- 14. jdbc:“无效的对象名'[table name]'。”
- 15. ASP.NET MVC3无效的对象名'Locations_tracking'
- 16. SqlDataAdapter.Fill无效的对象名称SQL
- 17. 无效的对象名称'dbo.Table' - EntityFramework 4.1
- 18. 无效的对象名称dbo.Quizs
- 19. 无效的对象名称异常
- 20. 无效的对象名称是hibernate_unique_key
- 21. 无效的对象名称dbo.MenuItems
- 22. 无效的对象名称'PetDatabase.Sales'
- 23. “无效的对象名称”dbo.UserRoles'.System.Exception System.Data.SqlClient.SqlException
- 24. SqlException:无效的对象名称
- 25. 无效的对象名称'@ImageIDsToDelete'
- 26. 无效的对象名称TABLE_2“
- 27. SqlException:无效的对象名称'电影'
- 28. 无效的对象名称错误?
- 29. FluentNHibernate错误 - “无效的对象名称”
- 30. 无效的对象名称dbo.tbLanguage - ASP.net
你我必须张贴一些示例代码 – TheGameiswar
什么就可以被丢弃/重新创建表的原因是什么?为什么不简单[[TRUNCATE]](https://msdn.microsoft.com/zh-cn/library/ms177570.aspx)表? –