--- top-level domains --- declare @atlds varchar(400) declare @btlds varchar(400) set @atlds = '(aero|am|as|ax|bg|biz|cat|cc|cf|cl|com|cz|de|dj|dk|edu|eu|fm|fo|gl|gm|gov|hm|info|jobs|km|la|md|mn|mp|mq|mr|nc|net|nu|org|si|sm|sn|sr|st|su|sz|td|tk|uz|vc|vu|ws)' set @btlds = '(ao|ar|bd|bn|br|co|cr|cy|do|eg|et|fj|fk|gh|gn|gu|id|il|jm|ke|kh|ki|kw|kz|lb|lc|lr|ls|ml|mm|mv|mw|mx|my|ng|ni|np|nz|om|pa|pe|pg|pw|py|qa|sa|sb|sv|sy|th|tn|tz|uk|uy|va|ve|ye|yu|za|zm|zw)' declare @category int declare @regex varchar(500) set @category = 32 --set @regex = '^[A-z0-9-]+\.(com)$' set @regex = '^[A-z0-9-]+\.' + @atlds + '$' DECLARE @domains varchar(255) DECLARE domains_cursor CURSOR FOR --select id, str_domain, str_directory, n_lwmask, str_reviewer, date_modified select str_domain from tbl_webmask where b_deleted = 0 and n_lwmask = @category and str_directory = '/' and master.dbo.fn_pcre_match(str_domain, @regex) = 1 OPEN domains_cursor FETCH NEXT FROM domains_cursor INTO @domains WHILE @@FETCH_STATUS = 0 BEGIN -- PRINT @domains declare @subdomains varchar(255) declare subdomains_cursor cursor for select str_domain from tbl_webmask where b_deleted = 0 and n_lwmask = @category and str_directory = '/' and str_domain like '%.' + @domains open subdomains_cursor fetch next from subdomains_cursor into @subdomains while @@FETCH_STATUS = 0 begin print @subdomains fetch next from subdomains_cursor into @subdomains end close subdomains_cursor deallocate subdomains_cursor FETCH NEXT FROM domains_cursor INTO @domains END CLOSE domains_cursor DEALLOCATE domains_cursor