开发者社区> 问答> 正文

存储过程输出值未更新

我在SQL Server 2016中创建了一个存储过程,该存储过程的目的是在表中提供包含以下字符串的销售建议总数[建议表中的@Recommendation]:在任何给定日期之后“销售记录中的____文档DOB” 。我也想将此结果放入临时表中。

有用的表格信息:

我在其中获取数据的参考表:建议 建议表中的相关字段是@Recommendation和@SalesProcessTime @Recommendation字段是VARCHAR(255),@ SalesProcessTime是DATETIME 无论我将日期更改为什么-甚至即使将其设置为=,> =等,也会显示相同的数值。

如果您还有其他需要,请随时问我。

USE [Test_Database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE usp_SalesRefCount
AS
BEGIN

--IF OBJECT_ID('tempdb..DocDOB') IS NOT NULL DROP TABLE #DocDOB
DECLARE @NumRecs INT;
-- Count of the number of recommendations


SELECT @NumRecs = COUNT(Recommendation)
FROM [Master_AGGREGATE].[dbo].[Recommendations]​
WHERE Recommendation = '____Document DOB in pt record' ​
and SalesProcessTime > '2018-10-20'

CREATE TABLE ##RefCount (NumberOfRecs INT); 
INSERT INTO ##RefCount
SELECT @NumRecs

END

EXEC usp_SalesRefCount

SELECT * FROM ##DocDOB

展开
收起
心有灵_夕 2020-01-01 12:55:41 5437 0
1 条回答
写回答
取消 提交回答
  • 为什么要使用全局临时表?为什么不直接从过程中返回结果呢?例如:

    CREATE PROCEDURE usp_SalesRefCount
    AS
    BEGIN
    
      DECLARE @NumRecs INT;
    
      SELECT @NumRecs = COUNT(Recommendation)
      FROM [Master_AGGREGATE].[dbo].[Recommendations]​
      WHERE Recommendation = '____Document DOB in pt record' ​
      and SalesProcessTime > '2018-10-20'
    
      SELECT @NumRecs NumRecs 
    
    END
    
    2020-01-01 12:56:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载