-1

なぜこれがうまくいかないのか、誰かが私に教えてもらえますか?

テーブルを返すストアド プロシージャがあります。次のように呼び出すと、正常に動作します。

EXECUTE dbo.sp_Get_Total_Parcels_Paid_Data

ただし、これをビュー内で使用する必要があり、機能させることができません。

Select * from dbo.sp_Get_Total_Parcels_Paid_Data()

エラー:

無効なオブジェクト名 'dbo.sp_Get_Total_Parcels_Paid_Data()

SPコード:

create PROCEDURE [dbo].[sp_Get_Total_Parcels_Paid_Data]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

declare @Sql1 nvarchar(max)
,@Sql2 nvarchar(max)
,@Sql3 nvarchar(max)

declare @TallyResults table
(EFOLDERID nvarchar(31) null    
,inv_bank_cd int null
,inv_cd int null
,inv_group_cd int null
,intLoanNumber int null
,other_text nvarchar(250) null
,tallyCount int
,eidMgrId nvarchar(31))


select @Sql1 = 'Select ' + tallydefinition from jobfunctions where jobfuncid = 44
select @Sql2 = 'Select ' + tallydefinition from jobfunctions where jobfuncid = 45
select @Sql3 = 'Select ' + tallydefinition from jobfunctions where jobfuncid = 206

insert into @TallyResults exec sp_executesql @Sql1
insert into @TallyResults exec sp_executesql @Sql2
insert into @TallyResults exec sp_executesql @Sql3

select * from @TallyResults

END
4

3 に答える 3

5

できませSELECT FROM <procedure>ん。申し訳ありません。トリックを試すことOPENQUERYできるかもしれませんが、それをビューに入れることができるかどうかはわかりません。

于 2013-03-22T19:20:58.750 に答える
0

Select ステートメントでストアド プロシージャを実行することはできません。ここに類似のスレッドがあります

SQL Server - SELECT FROM ストアド プロシージャ

于 2013-03-22T19:20:16.270 に答える
0

私が間違っていなければ、これはあなたが望むものです

おそらく、これにより、ある SP から別の SP に結果セットを取得する方法がわかるでしょう。

于 2013-03-22T19:30:54.817 に答える