2017-03-17 98 views
0

這是一個非常奇怪的問題。我有一個動態SQL存儲過程,將數據插入查詢數據庫的靜態表中。該表在查詢中引用了很多。所以,當我需要改變這個表並添加兩個新列我刪除了它,並使用導入嚮導(Excel試算表)來創建一個新的,並給了它是同一個名字,所以我沒有修改SP。該SP工作正常,但我也有這個查詢以外的動態SQL,當我運行它,現在失敗。SQL舊錶仍然顯示

起初我不知道爲什麼,但是當我看到它在INSERT INTO新創建的(但是具有相同名稱)表上失敗時,因爲有太多的列與表匹配。我跑了一個簡單的SELECT * FROM並帶回舊錶與它以前的3列,而不是新的表5列?

怎麼能這個表仍然存在,如果它被刪除?它像一個鬼桌仍然存在?

感謝

+0

你能否添加一些這樣的截圖發生?這是極有可能你只是連接到錯誤的數據庫或視圖具有類似名稱等 – iamdave

+0

你確定你添加/在正確的數據庫中修改的表嗎? –

+0

太令人沮喪了!每次我嘗試上傳截圖時,都會返回錯誤!我試過JPEG和PNG – Carlos80

回答

0

首先檢查你的臨時表的存在與否在database.IF存在投下您的臨時表,然後創建新的。

IF EXISTS(SELECT 1 FROM tempdb.dbo.sysobjects WHERE xtype in ('U') AND id = 
    object_id(N'tempdb..#your_tableName')) 
    DROP TABLE #your_tableName; 
+0

由於曼蘇爾但它不是一個臨時表其保存到數據庫中的靜態表。 – Carlos80

0

這是具有視圖的已知行爲,可以通過刪除和重新創建視圖來修復。不知道爲什麼它對錶格採用相同的方式。我能想到的可能性 -

  1. 這是
  2. 新表是不是在同一個數據庫

嘗試下探創建並重新創建存儲過程,它是什麼值得一觀