Jump to content
Fivewin Brasil

ROWLOCK no SQL SERVER


Pablo.Softgraf

Recommended Posts

Senhores, boa tarde !

Estou querendo fazer um cursor no SQL SERVER para controlar e travar uma tabela , em sua atualização. consigo usar o RLOCK() no SQLRDD, trava totalmente, tanto que no modo interativo

do SQLSERVER, não sai enquanto não finalizar o RLOCK, enfim, gostaria de saber se alguém já fez o processo reverso, não consigo LOCKAR com o CURSOR, não surte efeito no SQLRDD.

 

Ja tentei com "FOR UPDATE" também não vai.

 DECLARE complex_cursor CURSOR FOR

 SELECT NUMPG FROM CR_PARAM WITH (ROWLOCK);
 OPEN complex_cursor;
 FETCH FROM complex_cursor;
 UPDATE CR_PARAM SET NUMPG = NUMPG + 1
 WHERE CURRENT OF complex_cursor;
 CLOSE complex_cursor;
 DEALLOCATE complex_cursor;

 

 

 

 

 

Link to comment
Share on other sites

Bom dia , JMSilva, obrigado pela atenção da resposta.

No próprio SQL SERVER, se abrir duas instancias no modo interativo, consigo chegar no resultado esperado.

Agora, deve existir , senão o RLOCK não travaria o registro no SQL SERVER, tanto que consegui fazer. só preciso saber a maneira correta.

com certeza o RLOCK deve simular algum comando , estou tentando visualizar pelo DATA ANALYSER do mesmo, mas não to conseguindo instalar.

 

 

 

Link to comment
Share on other sites

Algo assim?

USE AdventureWorks2008R2;GODECLARE complex_cursor CURSOR FOR    SELECT a.BusinessEntityID    FROM HumanResources.EmployeePayHistory AS a    WHERE RateChangeDate <>          (SELECT MAX(RateChangeDate)          FROM HumanResources.EmployeePayHistory AS b          WHERE a.BusinessEntityID = b.BusinessEntityID) ;OPEN complex_cursor;FETCH FROM complex_cursor;DELETE FROM HumanResources.EmployeePayHistoryWHERE CURRENT OF complex_cursor;CLOSE complex_cursor;DEALLOCATE complex_cursor;GO
	

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...