【问题标题】:How can I call a stored procedure from another stored procedure [duplicate]如何从另一个存储过程调用存储过程[重复]
【发布时间】:2019-05-09 06:33:28
【问题描述】:

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

在另一个名为 StoredProcedure 的我想将第一个存储过程的输出值转换为 Hijri Shamsi 日期:

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

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 的值?!

【问题讨论】:

  • 您使用的是哪个 dbms? (该代码是特定于产品的。)

标签: sql-server tsql stored-procedures


【解决方案1】:

在第一个存储过程中,将日期作为输出参数返回

在第二个存储过程中,

DECLARE @examDate DateTime
EXECUTE GetExamDate @examDate OUTPUT

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

【讨论】:

  • @dorsa:希望这会有所帮助。如果是这样,请将其标记为答案,以便以后参考它的人有所帮助。
  • Thx Habeeb,我这样做了。但是如何在第二个 SP 中调用第一个 SP?!
  • @dorsa,上面的例子就是你在第2个SP中调用第1个SP的方式。
猜你喜欢
  • 2010-11-14
  • 2018-07-04
  • 2014-09-17
  • 2011-05-08
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多