如何从另一个存储过程调用存储过程

时间:2019-05-09 06:33:29

标签: sql-server tsql stored-procedures

我有两个存储过程,在其中一个存储过程中,我想从一个具有Date值的视图中获取一个字段。

在另一个名为StoredProcedure的变量中,我想将第一个存储过程的输出值转换为Hijri Shamsi Date:

这是我第一个获取日期列的存储过程:

ALTER PROCEDURE GetExamDate 
    @Id INT
AS
    SELECT ExamTime 
    FROM View_SubjectStudyCourse
    WHERE @Id = CourseId
GO

然后我想在第二个过程中使用以下代码将公历日期转换为回历日期是:

DECLARE @DateTime AS DATETIME
SET @DateTime = GETDATE()

SELECT 
    @DateTime AS [Gregorian Date],
    CONVERT(VARCHAR(11), @DateTime, 131) AS [Gregorian date to Hijri date]
GO

现在我不知道如何在第二个存储过程中使用以上代码,如何在第二个过程中返回GetExamDate Procedure的值?!

1 个答案:

答案 0 :(得分:1)

在“第一存储过程”中,将日期作为out参数返回

在第二存储过程中,

DECLARE @examDate DateTime
EXECUTE GetExamDate @examDate OUTPUT

然后,您可以使用@examDate的值,它是第一个SP的结果。