在变量的初始化中调用存储过程

时间:2017-01-27 13:24:09

标签: sql sql-server tsql stored-procedures

我试图调用另一个存储过程来获取返回的值并将其分配给我的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

0 个答案:

没有答案