0

我已经声明了一个游标,它可以获取我在特定月份创建的所有票证 ID,并且我正在使用它进行插入。

一旦插入成功,我将释放光标并提交事务。

-->>现在我想根据成功消息删除记录。就像如果 message = 'Success',则删除。

但问题是我必须通过该票证 ID 才能删除。


声明@Tickets CURSOR BEGIN TRANSACTION INSERTION;

    SET @Tickets= CURSOR READ_ONLY FOR SELECT TICKET_ID FROM TICKETMASTER

然后 INSERT 查询我在哪里传递票证 ID 以插入到表中

打开@Tickets 关闭@Tickets DEALLOCATE @Tickets SET @message='SUCCESS'

提交交易插入;

现在我开始另一个删除交易

开始交易删除;

在这里,我想再次删除我仅在@message 成功时插入的行,并且我必须传递 Ticket id 才能删除。

就像从 TICKETMASTER 中删除 TICKET_ID = @tickets

--

我不想再次设置光标来获取票证 ID。想要使用相同的@tickets 光标进行删除,只需再次打开即可。

我已经解除了@tickets 游标的分配,所以我可以通过给它再次重用它吗?

Open @tickets if(message='Success') 从 TICKETMASTER 中删除其中 TicketId = @tickets

4

1 回答 1

0

您可以从 Ticketmaster 中将 ticketid 选择到 #temptable 中,并将其用作两个游标的来源。或者,您可以在同一个光标主体内同时执行插入和删除操作。

于 2013-10-13T13:51:31.413 回答