SQL Server的又表示可以嵌套的,下面是程序中的一个存储过程
ALTER PROCEDURE dbo.TaxiBatchClose
AS
begin
/* SET NOCOUNT ON */
SET NOCOUNT ON
declare @NowTime datetime
set @NowTime=getdate()
……
--利用游标修改每一个没有关闭的订单
DECLARE TaxiForms_cursor CURSOR FOR
SELECT [OrderID],[UserName],[StartTime]
FROM TaxiForms WITH (UPDLOCK)
WHERE OrderStatus='卖票中' AND datediff(day,StartTime,@NowTime)>7
OPEN TaxiForms_cursor
FETCH NEXT FROM TaxiForms_cursor
INTO @OrderID,@SellerName,@StartTime
WHILE @@FETCH_STATUS = 0
BEGIN
--开始内循环游标,处理每一张车票
DECLARE Ticket_cursor CURSOR FOR
SELECT [TicketID],[BuyerName],[Count]*[Price],[TicketStatus]
FROM Tickets WITH (UPDLOCK)
WHERE OrderID=@OrderID AND TicketStatus&l