-1

たとえば、次のストアド プロシージャがあります。

create procedure MyStoredProcedure
as
begin
    select  *
    from X,Y
    where x.Id = Y.ID
end
return @table table(X.tTitle, Y.Description)

テーブルを返したいのですが、別のクエリでテーブルを使用する場合

4

6 に答える 6

2

これを試して:

create procedure MyStoredProcedure
as
begin

select  X.*,Y.*
    From X INNER JOIN Y ON X.Id=Y.ID

end

これにより、テーブル X と Y からすべてのデータが選択されます。

于 2013-10-29T05:46:31.050 に答える
2

この方法を試してください:

CREATE PROCEDURE [dbo].[MyStoredProcedure]

    AS
    BEGIN
        -- SET NOCOUNT ON added to prevent extra result sets from
        -- interfering with SELECT statements.
        SET NOCOUNT ON;
        Declare @ID int
         set @ID =(select ID From X INNER JOIN Y ON X.Id=Y.ID)
         IF @ID > 0
         BEGIN
               return @table table(X.tTitle,Y.Description)
         END
    END
于 2013-10-29T05:47:24.270 に答える
0

一時テーブルまたはテーブル変数を使用できます。このような:

CREATE TABLE #TABLE
(
COLUMN DEFINITION
)

INSERT INTO #TABLE
EXEC <YOUR STORED PROCEDURE>
SELECT *
FROM #TABLE

DROP TABLE #TABLE

ストアド プロシージャを一時テーブル内に挿入して、テーブルと同様に使用できるようにすることができます。一時テーブル名は # で始まる必要があることに注意してください。

于 2013-10-29T05:47:53.103 に答える
0

このようなものは、あなたが最も書く

CREATE PROCEDURE <SP_Name>
AS
BEGIN
    Select ......
End
于 2013-10-30T06:44:39.733 に答える