簡體   English   中英

存儲過程將結果返回到另一個存儲過程的temp表中

[英]Stored procedure return results into temp table in another stored procedure

我要執行的操作是插入新事務,該事務是最新事務的副本,但更改幾個值。

我有SP返回給定的請求ID稱為sp_Get_YellowCard_Request_Last_Transaction的最新交易

我還有一個我想使用上述名稱的sp_Update_CC_Move_YCR_TO

但是由於sp_Get_YellowCard_Request_Last_Transaction返回很多字段(26),所以我不想指定所有字段,而只是將其結果插入臨時表中,然后更改某些字段,最后將臨時表插入目標事務表中。

到目前為止,我編寫的是:

USE [YellowCard_NewDesign]
GO
/****** Object:  StoredProcedure [dbo].[sp_Update_CC_Move_YCR_TO]    Script Date: 02/26/2013 09:43:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_Update_CC_Move_YCR_TO]
    @YellowCard_Request_ID int,
    @yc_changer_username nvarchar(MAX),
    @yc_changer_rolename nvarchar(MAX),
    @yc_new_status nvarchar(MAX)
AS
    INSERT INTO #last_transaction
    EXEC dbo.sp_Get_YellowCard_Request_Last_Transaction @YellowCard_Request_ID*

我收到未定義#last_transaction的錯誤。

如何在不定義臨時表字段的情況下完成SP?

在SQL Server 2000中,我使用了以下技巧:

IF OBJECT_ID('tempdb..#last_transaction') IS NULL
    CREATE TABLE #last_transaction(
        ....
    )

INSERT INTO #last_transaction
    EXEC ...

對於更高版本的SQL Server,我希望使用表值函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM