0
我想一個視圖從一個數據庫複製到另一個並且得到錯誤:SQL視圖創建錯誤
消息4121,級別16,狀態1,過程vwPAProjects_Summary_New_2 線2
找不到任何列「DBO」或用戶定義的函數或 聚集體「dbo.GetContractName」,或名稱不明確
我複製過的看法是:
USE [GRAUD]
GO
/****** Object: View [dbo].[vwPAProjects_Summary_New_2] Script Date: 11/07/2012 11:57:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[vwPAProjects_Summary_New_2] AS
select
dbo.GetContractName(PAPROJNUMBER) 'CONTRACT',
PACONTNUMBER,
isnull(dbo.GetEmployeeName(PABusMgrID),dbo.GetContractPartner(PACONTNUMBER)) 'Project Manager ID',
case PASTAT
when 1 then 'Open'
else 'Closed'
end 'Status',
case PAProjectType
when 3 then 'Fixed Price'
else 'Time and Materials'
end 'Project Type',
PAProject_Fee_Amount 'Project Fee Amount',
PAFTotalCost 'Forecast Total Cost',
(PAProject_Fee_Amount - PAFTotalCost) 'Forcast Profit',
case
when PAProject_Fee_Amount = 0 then '0.00%'
else cast(cast(((PAProject_Fee_Amount - PAFTotalCost)/PAProject_Fee_Amount)*100 as decimal(19,2)) as varchar(21)) + '%'
end 'Forcast %',
PAPostedBillingsN 'Actual Billings',
PAPostedTotalCostN 'Actual Total Cost',
(PAPostedBillingsN - PAPostedTotalCostN) 'Current Actual Profit',
case
when PAPostedBillingsN = 0 then '0.00%'
else cast(cast(((PAPostedBillingsN - PAPostedTotalCostN)/PAPostedBillingsN)*100 as decimal(19,2)) as varchar(21)) + '%'
end 'Current %'
from PA01201
where PASTAT = 1
有人可以告訴我如何得到這個複製過來嗎?在複製完成後,它在其他數據庫上工作過,但是我看不到任何會阻止它的差異?
好吧,它在錯誤信息中寫着,不是嗎?首先要檢查的是數據庫中是否存在'dbo.GetContractName',您試圖在其中創建視圖。 –