這是可能的一個過程?我在一個程序中創建了一個表格,我知道它存在。現在我想從另一個程序對此表進行更新。當我嘗試這樣做時,我得到一個「無效的對象名稱」錯誤。如果我將相同的更新代碼放入創建表的過程中,則工作得很好。我如何從不同的程序更新這張表?更新表在該表中未創建
1
A
回答
1
這不是一個很好的做法,創建一個存儲過程表,除了臨時表。
如果其他PROC不承認它,我可以看到兩種可能性。首先你創建了一個臨時表,並且它超出了新進程的範圍。
第二你沒有給誰正在執行第二PROC權限表用戶。
0
如果它是一個臨時表或表變量,它會被設置一旦始發SPROC完成執行的。
根據RDBMS平臺(假設MS在這裏),您可以創建一個全局臨時表(例如##MyTable
),然後將其名稱作爲輸入傳遞給第二個存儲過程以進行進一步處理。
,如果你想在存儲過程的每次運行到創建自己的表你可能會考慮生成一個唯一的特定日期時間,表名:如果你要堅持同一個表,並重新使用它
DECLARE @Now datetime, @TableName varchar(50)
SET @TableName = 'TheTable_' + CAST(YEAR(@Now) AS varchar(4)) + CAST(MONTH(@Now) AS varchar(2)) + CAST(DAY(@Now) AS varchar(2)) + CAST(DATEPART(HOUR, @Now) AS varchar(2)) + CAST(DATEPART(MINUTE, @Now) AS varchar(2)) + CAST(DATEPART(SECOND, @Now) AS varchar(2))
相反,可以檢查它是否存在並採取相應措施:
IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'TheTable_xxxx')
BEGIN
... do stuff to the existing table here, like truncate it or mark any
... existing records as processed somehow or whatever.
END
相關問題
- 1. 表未創建
- 2. 表未創建
- 3. 表未更新
- 4. 更新表,但創建一個新的更新表?
- 5. 我應該創建一個新表嗎?
- 6. 重新創建該表計算器
- 7. 在創建表mySQL時進行更新
- 8. 從表1創建或更新列,並從表2創建或更新列
- 9. 更新SQL Server表 - 表未更新
- 10. 如何在創建表格後更新表格中的列?
- 11. 使用表中的值列表和更新值創建表單?
- 12. 創建form1的新實例並更改該表單屬性
- 13. PHP表未創建
- 14. PHP - 表未創建
- 15. 部分表格未創建新值RoR
- 16. 當創建PostgreSQL中的表,該表被創建,但列不
- 17. tableView.reloadData()表未更新
- 18. 在PHP中創建新文件並更新這些創建文件的列表
- 19. 更新和在哈希表中創建新的元素
- 20. 在更新現有應用程序中創建新表格
- 21. 在cassandra中更改或創建新表以添加新列
- 22. 更新表單在數據庫中創建新的對象
- 23. 在同一表中更新並創建新記錄
- 24. 在創建新列表之前在同一站點中創建新列表
- 25. ActiveRecord驗證包含在列表中 - 列表未在創建新關聯模型後更新
- 26. 未能在SQL中創建表格
- 27. 在Hibernate中未創建表JPA
- 28. 代表未在Swift中創建
- 29. 表未在SQLite數據庫中創建
- 30. 未能在postgresql中創建表格
它是臨時表嗎?桌子的名字是什麼? – mellamokb
*** *** SQL只是*結構化查詢語言* - 許多數據庫系統中使用的語言,但沒有AA數據庫產品......很多事情都是特定於供應商 - 所以我們真的需要知道什麼**數據庫系統**(以及您正在使用的版本).... –
那些表位於不同數據庫?,服務器? – Lamak