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