Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SQL Cursor Processing Control Break logic
- DECLARE @CompanyName NVARCHAR(255)
- DECLARE @CompanyNameHold NVARCHAR(255)
- DECLARE @TESTCOUNT INT
- DECLARE @TOTALCOUNT INT
- SELECT @CompanyNameHold = ''
- SELECT @TESTCOUNT = 0
- SELECT @TOTALCOUNT = 0
- DECLARE ImportCursor CURSOR FOR
- SELECT [Company Name]
- FROM [MyDB].[dbo].[AccountsToImport]
- ORDER BY [Company Name]
- OPEN ImportCursor
- FETCH NEXT FROM ImportCursor INTO @CompanyName
- WHILE @@FETCH_STATUS = 0
- BEGIN
- --Check HoldCompanyName = CompanyName
- IF (@CompanyName <> @CompanyNameHold)
- BEGIN
- --PROCESS NEW ACCOUNT
- IF @TESTCOUNT = 0 --PRIMER
- SET @CompanyNameHold = @CompanyName
- ELSE
- PRINT CAST(@TESTCOUNT AS NVARCHAR) + ' - ' + @CompanyNameHold
- SET @TESTCOUNT = 1
- END
- ELSE
- BEGIN
- --ADD TO EXISTING
- SET @TESTCOUNT = @TESTCOUNT + 1
- END
- --Move CompanyName to HoldCompanyName
- SET @CompanyNameHold = @CompanyName
- SET @TOTALCOUNT = @TOTALCOUNT + 1
- FETCH NEXT FROM ImportCursor INTO @CompanyName
- END
- --Process Last Record
- PRINT CAST(@TESTCOUNT AS NVARCHAR) + ' - ' + @CompanyNameHold
- CLOSE ImportCursor
- DEALLOCATE ImportCursor
- select [Company Name]
- , count(*) as RowsPerCompany
- from MyDB.dbo.AccountsToImport
- group by
- [Company Name]
Add Comment
Please, Sign In to add comment