2017-03-23 10 views
0

4つのパラメータと "テーブルを返す"テーブル値関数にパラメータ値を渡そうとしています。テーブル値関数にパラメータを渡す

メッセージ8114、レベル16、状態5、BIGINTするデータ型はvarchar を変換する6行目のエラー:しかし、私はそのvarchar型のパラメータのいずれかにパラメータ値を渡すときにエラーを次のように受け取ります。

declare @Scenario1 as varchar(30) 
set @Scenario1 = '2017_B01' 

select * 
From  [dbo].[fn_GetAEAssumptionFacts](@Scenario1,null,null,null) fng 

機能を垣間見る:ここ

CREATE FUNCTION [dbo].[fn_GetAEAssumptionFacts] 

(
    @pScenarioName varchar(500) = NULL 
    ,@pBuildingID varchar(500) = NULL 
    ,@pLeaseID varchar(500) = NULL 
    ,@pTenantName varchar(500) = NULL 
) 

RETURNS TABLE 
AS 
RETURN 

select 
..... 
from ae11.dbo.rvw_FinancialLineItems fli 
.... 
INNER JOIN ae11.dbo.rvw_Scenarios s on s.Id = pas.ScenarioId 
left join 
    (select 
     externalID, 
     PropertyAssetId, 
     LeaseID, 
     BeginDate 
    from ae11.dbo.ivw_Leases 
    WHERE PropertyAssetID IN 
    (select ID from AE11.dbo.PropertyAssets where scenarioID = 
    (CASE WHEN isnull(@pScenarioName, '') = '' 
        THEN (select ID from AEX.[dbo].[ConfigurationFieldTable] 
        where [Type] = 'Lease Connect Current Scenario') 
       ELSE @pScenarioName 
       END) 
    ) 
    ) lea 
ON lea.LeaseID = uni.ExternalID 
AND lea.PropertyAssetID = uni.PropertyAssetId    

where 1=1 
...... 
    AND s.id = (CASE WHEN isnull(@pScenarioName, '') = '' 
        THEN (select ID from AEX.[dbo].[ConfigurationFieldTable] 
        where [Type] = 'Lease Connect Current Scenario') 
       ELSE @pScenarioName 
       END) 

答えて

1

(CASE WHEN isnull(@pScenarioName, '') = '' 
       THEN (select ID from AEX.[dbo].[ConfigurationFieldTable] 
       where [Type] = 'Lease Connect Current Scenario') 
      ELSE @pScenarioName 
END) 

あなたは@ScenarioNameに応じた値を取っています。これは、select ID from AEX.[dbo].[ConfigurationFieldTable] WHERE...の結果または@ScenarioNameのコンテンツのいずれかになります。

@SenarioNameは文字列ですが、このIDはbigintとします。そしてs.IDあなたはそれと比較したいと思っています - 私は知らない...

しかし、正直言って - 私の魔法のクリスタルボールは清掃のためであり、あなたが提供する情報は十分ではありません。

+0

私の間違いを認識してくれてありがとう。 scenarioIDは整数値で、パラメータはvarchar値を渡そうとしています。 – NonProgrammer

関連する問題