Пример использование курсоров
CREATE PROCEDURE Example_Cursor
AS
DECLARE @updRecord CURSOR;
DECLARE @uid BINARY(16);
DECLARE @tablename NVARCHAR(35);
DECLARE @dbname NVARCHAR(35);
DECLARE @printMessage NVARCHAR(150);
BEGIN
SET @updRecord = CURSOR FOR
SELECT O._IDRRef, O.NAME_TABLE, O.NAME_DB FROM Obmen AS O
OPEN @updRecord
FETCH NEXT FROM @updRecord INTO @uid, @tablename, @dbname
WHILE @@FETCH_STATUS=0
BEGIN
SET @printMessage = CAST(@uid AS nvarchar(16))+' | '+@tablename+' | '+@dbname
print @printMessage;
IF EXISTS (SELECT * FROM [1CZUP_test_powerBI].[dbo].[_AccOpt] WHERE _MDID=@uid )
BEGIN
print 'Update Record'
END
ELSE
BEGIN
print 'Insert Record'
END
FETCH NEXT FROM @updRecord INTO @uid, @tablename, @dbname
END;
CLOSE @updRecord;
DEALLOCATE @updRecord;
END