调用存储过程并将其结果保存在临时表中(错误)

时间:2019-01-11 02:23:20

标签: sql-server stored-procedures

尝试调用过程并将结果插入到临时表中

CREATE TABLE #TempTable22
(
   ChargeType             Int,
   ChargeCode             varchar(250),
   CarrierCode            varchar(250),
   Market                 varchar(250),
   CurrencyCode           varchar(250),
   PaymentMethodCode      varchar(250),
   ForiegnCurrencyCode    varchar(250),
   ChargeAmount           Float,
   ForiengAmount          Float,
   MarketCharge           varchar(250),
   DirectRate             Float,
   ExcessBagCommisionRate Float

)

INSERT INT #TempTable22
    EXEC [dbo].[Sp_AutoJV_SalesSummary_ForTest]  @DateFrom, @DateTo, @CurrencyCode, @OrganizationCode, @OrgCurrencyCode, @LocationCode, @Market, @Sales, @PaymentMethodCode;


SELECT 
   ChargeType,            
   ChargeCode,           
   CarrierCode,           
   Market,                
   CurrencyCode,          
   PaymentMethodCode,  
   ForiegnCurrencyCode,  
   ChargeAmount, 
   ForiengAmount,     
   MarketCharge,     
   DirectRate,      
   ExcessBagCommisionRate,
   0 * ExcessBagCommisionRate as Test 
FROM
    #TempTable22

注意:#当我不插入存储过程而调用存储过程时,没有问题,但是当我添加insert into #TempTable22时,将提示错误。

完全错误

  

Msg 3930,级别16,状态1,过程Sp_AutoJV_SalesSummary_GetChargeDetailsNoDGV2_ForTest,第46行[批处理   起点73]
  当前事务无法提交,并且不能支持写入日志文件的操作。回滚事务。

     

消息208,级别16,状态0,过程Sp_AutoJV_SalesSummary_GetChargeDetailsNoDGV2_ForTest,行835 [批处理   起点73]
  无效的对象名称“ #Stations”。

     

Msg 3930,级别16,状态1,过程Sp_AutoJV_SalesSummary_Report_ForTest2,第63行[批处理开始第73行]
  当前事务无法提交,并且不能支持写入日志文件的操作。回滚事务。 (受影响的0行)

1 个答案:

答案 0 :(得分:0)

您需要创建表值函数才能在select或insert语句中使用它。请参见下面的链接

When would you use a table-valued function?