首页 > 解决方案 > 结果未显示,仅显示“命令已成功完成”

问题描述

我最近开始研究 TSQL 中的存储过程,我正在使用 SSMS 2018。当我执行我处理的前两个存储过程时,结果仍然显示。

但是,不久之后,消息窗口只显示“命令已成功完成”,但不再显示结果。

请参见下面的代码:

USE ALEX_DB --my database name
GO

IF OBJECT_ID ('dbo.practice', 'P') IS NOT NULL --Identifies if there is an existing procedure
    DROP PROCEDURE dbo.practice; --Drops if procedure exists
GO

CREATE PROCEDURE dbo.practice 
AS
SELECT
    CONVERT(VARCHAR, TSM.TXN_DATE, 1) AS 'Transaction Date', 
    TCA.FIRST_NAME + ' ' + TCA.LAST_NAME AS 'Customer', 
    TSM.CUST_ID AS 'Customer ID', 
    TSM.TXN_NO AS 'Reference No.'
FROM TXN_SALES_MAST AS TSM
INNER JOIN TXN_CUST_ACCT AS TCA ON TCA.CUST_ID = TSM.CUST_ID

EXECUTE dbo.practice

当我自己运行 SELECT 语句时,它不在存储过程中,它会将结果显示到网格中。但是,当我尝试执行存储过程时,SSMS 不再显示任何结果。

标签: sqlsql-serverstored-proceduresssms

解决方案


GOcreate procedure块后添加

USE ALEX_DB --my database name
GO

IF OBJECT_ID ('dbo.practice', 'P') IS NOT NULL --Identifies if there is an existing procedure
    DROP PROCEDURE dbo.practice; --Drops if procedure exists
GO

CREATE PROCEDURE dbo.practice 
AS
SELECT
    CONVERT(VARCHAR, TSM.TXN_DATE, 1) AS 'Transaction Date', 
    TCA.FIRST_NAME + ' ' + TCA.LAST_NAME AS 'Customer', 
    TSM.CUST_ID AS 'Customer ID', 
    TSM.TXN_NO AS 'Reference No.'
FROM TXN_SALES_MAST AS TSM
INNER JOIN TXN_CUST_ACCT AS TCA ON TCA.CUST_ID = TSM.CUST_ID
GO -- here

EXECUTE dbo.practice

推荐阅读