sql 游标使用简记

来源:互联网 发布:微信点赞截图制作软件 编辑:程序博客网 时间:2024/06/05 15:40

IF EXISTS ( SELECT  *
            FROM    sys.objects
            WHERE   object_id = OBJECT_ID(N'[dbo].[PAYEE_Del]')
                    AND type IN ( N'P', N'PC' ) )
    BEGIN
        DROP PROCEDURE [PAYEE_Del]
    END
GO 
CREATE PROC [dbo].[PAYEE_Del]
    @payee_id INT ,
    @RP INT OUTPUT
AS
    SET @RP = 0
   
        
        
    IF NOT EXISTS ( SELECT  payee_id
                    FROM    Payee
                    WHERE   Payee_id = @payee_id )
        BEGIN
            SET @RP = 11
            RETURN
        END 
                    
   
    IF EXISTS ( SELECT TOP 1
                        MAB01Id
                FROM    dbo.MAB01_BuyOrder
                WHERE   MAB01PayeeId = @payee_id )
        BEGIN
            SET @RP = 374
            RETURN
        END    
    

    DELETE  FROM PayeeAccount
    WHERE   Payee_ID = @Payee_ID
  
    DECLARE @Payee_AccountID INT
    DECLARE cursor1 CURSOR FOR  
 
    SELECT PayeeAccount_ID FROM dbo.PayeeAccount pa WHERE pa.PAYEE_ID=@payee_id
    OPEN cursor1
   
    FETCH NEXT FROM cursor1 INTO @Payee_AccountID
    WHILE @@fetch_status = 0
        BEGIN
            PRINT @Payee_AccountID
            DELETE  FROM dbo.PAYEE_TVMEDIA
            WHERE   PayeeAccount_ID = @Payee_AccountID
            FETCH NEXT FROM cursor1 INTO @Payee_AccountID
        END
    CLOSE cursor1                 
    DEALLOCATE cursor1 

    DELETE  PAYEE
    WHERE   payee_id = @payee_id
          
               
GO

 

 

原创粉丝点击