存储过程调用存储过程

   之前听说存储过程B中调用存储过程A,存储过程B不管A是否执行完就开始继续执行。今天自己写了个例子,发现并不是这样的。

CREATE PROCEDURE [dbo].[TestA]
    -- Add the parameters for the stored procedure here
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    WAITFOR  DELAY '00:01:00' --延时1分钟
    PRINT 'TestA';
END

存储过程B,调用存储过程A,如下:

CREATE PROCEDURE [dbo].[TestB]
    -- Add the parameters for the stored procedure here
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    
    DECLARE  @StartTime dateTime
    SET @StartTime=GETDATE();
    EXEC TestA;
    PRINT DATEDIFF(s,@StartTime,GETDATE());
    -- Insert statements for procedure here
    WAITFOR  DELAY '00:0:10' --延时10S
    PRINT 'TestB';
    PRINT DATEDIFF(s,@StartTime,GETDATE());
END

执行存储过程B,结果如下:

猜你喜欢

转载自www.cnblogs.com/juneyss/p/8888929.html