這是我的查詢。我想要做的是每週運行這個查詢,所以表PlanFinder.InvalidAwps
將有新的記錄。但是,當我運行查詢它給了我這個錯誤:SQL錯誤:「數據庫中已有一個名爲XXXX的對象」
There is already an object named 'InvalidAwps' in the database.
我不能改變表名稱。它必須保持不變。那麼我怎麼能每週運行這個查詢來保持表名,因爲它是?
-------------------------------------
IF EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[PlanFinder].[InvalidAwps]')
AND type in (N'U'))
BEGIN
DROP TABLE [PlanFinder].[InvalidAwps]
END
SELECT DISTINCT P.Ndc Ndc, A.Price AwpUnitCost INTO PlanFinder.InvalidAwps
FROM
PlanFinder.PlanFinder.HpmsFormulary P
LEFT JOIN (SELECT Ndc, Price FROM MHSQL01D.Drug.FdbPricing.vNdcPrices
WHERE PriceTypeCode = '01' AND CurrentFlag = 1) A
ON P.Ndc = A.Ndc
WHERE (A.Ndc IS NULL OR A.Price <= 0 OR A.Price IS NULL)
AND p.Ndc IS NOT NULL
----------------------------------------------
+1,最好截斷並重新加載而不是刪除並重新創建表。 – 2010-08-21 01:10:37
嗨,喬,謝謝你的幫助。但是讓我每個星期都清楚一點,當我運行我的包時,它會截斷PlanFinder.invalidAwps中的舊數據,並且會從查詢的其餘部分加載新數據,是嗎? (對不起,學習SQL) – User7354632781 2010-08-21 23:37:50
是的。截斷將從表中刪除所有現有的數據。 – 2010-08-22 03:51:10