我试图调用另一个存储过程来获取返回的值并将其分配给我的sql存储过程中声明的变量,但是我收到错误:
Msg 4121,Level 16,State 1,Procedure proc_GetChemicalDaily,35行 找不到任何一列"接口"或用户定义的函数或聚合" Interface.proc_GetPIValueAverageTime",或名称不明确。
我尝试用“执行”'替换前面的SELECT。和' EXEC'而且我还必须在最后标记一些东西,但它没有用。我还将数据库名称放在"接口"一部分。
USE [OperationsView]
GO
/****** Object: StoredProcedure [Interface].[proc_GetChemicalDaily]
Script Date: 1/27/2017 8:06:47 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [Interface].[proc_GetChemicalDaily]
-- Add the parameters for the stored procedure here
@ProductionDate As DateTime,
@Debug BIT = 1
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- pi variables
DECLARE @tag_in As varchar(50)
DECLARE @pi_server As varchar(50)
DECLARE @enddate As date
--forcast variables
DECLARE @FCChemGALPERMIN DECIMAL(18,4)
DECLARE @CAUSTICDAILYUSAGE DECIMAL(18,4)
--variance variables
--DECLARE @PriceVariance DECIMAL(18,4)
-- DECLARE @MTDChem$Ton DECIMAL(18,4)
SELECT @tag_in = 'I-FC-835'
SELECT @pi_server = 'valpi'
SELECT @endDate = DATEADD(DAY, 1, @productionDate)
SELECT @FCChemGALPERMIN = proc_GetPIValueAverageTime(@tag_in,
@ProductionDate, @endDate, @pi_server, @Debug)
if @FCChemGALPERMIN> .5
SELECT @CAUSTICDAILYUSAGE = @FCChemGALPERMIN*((18318/2000)*.5);
else
SELECT @CAUSTICDAILYUSAGE = 0;
-- Insert statements for procedure here
if @Debug = 1
begin
PRINT '-------------COST OF CAUSTIC-------------'
PRINT''
PRINT 'Caustic for production day ' + convert(varchar(50),@ProductionDate)
PRINT ''
PRINT 'Caustic usage: ' + convert(varchar(50),@CAUSTICDAILYUSAGE)
end
END