Stored Procedures [dbo].[al_reblock]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnNo
SQL Script
SET QUOTED_IDENTIFIER OFF
GO
create procedure al_reblock
as
begin
    declare @license_id int
    declare @license_metric_id int
    declare @product_uuid binary(16)

    --update set evaluate=-1 from al_license_block
    delete from al_license_block
    delete from al_link_lic_metric_block
    delete from al_link_product_block

    -- only do metrics

    DECLARE add_cursor CURSOR FOR select  al_license_metric.license_id, al_license_metric.license_metric_id, product_uuid
                                     from al_product_rights, al_metric_covered_product, al_license_metric
                                     where al_license_metric.license_metric_id = al_metric_covered_product.license_metric_id and
                                            al_metric_covered_product.product_rights_id = al_product_rights.product_rights_id and al_license_metric.license_id > 1000005                                    
    OPEN add_cursor

    -- Perform the first fetch.
    FETCH NEXT FROM add_cursor
    INTO @license_id, @license_metric_id, @product_uuid

    -- Check @@FETCH_STATUS to see if there are any more rows to fetch.
    WHILE @@FETCH_STATUS = 0
    BEGIN
        exec al_link_prod_to_lic_metric @license_id, @license_metric_id, @product_uuid, 0

        FETCH NEXT FROM add_cursor
        INTO @license_id, @license_metric_id, @product_uuid
    END

    CLOSE add_cursor
    DEALLOCATE add_cursor



    DECLARE add_cursor2 CURSOR FOR select  al_license.license_id, al_product_rights.product_uuid
                                     from al_license left join al_license_metric on al_license_metric.license_id = al_license.license_id
                                          join al_product_rights on al_license.license_id = al_product_rights.license_id
                                     where al_license_metric.license_metric_id is null and al_license.license_id > 1000005
    OPEN add_cursor2

    -- Perform the first fetch.
    FETCH NEXT FROM add_cursor2
    INTO @license_id, @product_uuid

    -- Check @@FETCH_STATUS to see if there are any more rows to fetch.
    WHILE @@FETCH_STATUS = 0
    BEGIN
        exec al_link_prod_to_lic @license_id, @product_uuid, 0

        FETCH NEXT FROM add_cursor2
        INTO @license_id, @product_uuid
    END

    CLOSE add_cursor2
    DEALLOCATE add_cursor2

end

GO
Uses