Я пытаюсь скопировать представление из одной базы данных в другую и получаю ошибку:
Сообщение 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
в базе данных, в которой вы пытаетесь создать представление. - person Christian.K   schedule 07.11.2012