Cursor en trigger

08/10/2004 - 02:36 por Ton | Informe spam
Hola a todos, tengo el siguiente problema cuando uso un
CURSOR FOR UPDATE en un trigger:

Proceso:
Cuando trato de usar los valores de las tablas "inserted"
o "deleted" para actualizar el valor de otra tabla
diferente o la misma que originó el trigger me envia el
siguiente error: "FOR UPDATE CANNOT BE SPECIFIED ON A
READ ONLY CURSOR. Error 16957. Severity 16". Este
problema solo ocurre en SQL Server 2000, ya que en la
versión 7 no se presenta.

Espero que alguien pueda ayudarme. Gracias y saludos
 

Leer las respuestas

#1 MAXI
08/10/2004 - 02:45 | Informe spam
Ton, lamento no ayudarte especificamente con tu consulta pero.

Cursores + triggers son un muy mal matrimonio ;-)

Sql-Server no esta pensado para trabajar con cursores, este tipo de tecnicas
hacen muy lento al motor. Claro los developer estan muy acostumbrados a
utilizar cursores. Casi todo se puede hacer sin estos cursores, lo que
sucede que puede llegar a ser mas complicado de escribir, pero lo que se
busca es que nuestro motor de BDD (un recurso costoso en toda organizacion)
este lo mas seguro y optimo posible!!

Porque no hacemos una cosa: Contanos que queres hacer (y no como lo estas
haciendo) y desde aqui te ayudaremos a armar la mejor sentencia posible y
eliminar ese cursor!!!

Un abrazo




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messager:

"Ton" escribió en el mensaje
news:1e5301c4acce$df3b1c50$
Hola a todos, tengo el siguiente problema cuando uso un
CURSOR FOR UPDATE en un trigger:

Proceso:
Cuando trato de usar los valores de las tablas "inserted"
o "deleted" para actualizar el valor de otra tabla
diferente o la misma que originó el trigger me envia el
siguiente error: "FOR UPDATE CANNOT BE SPECIFIED ON A
READ ONLY CURSOR. Error 16957. Severity 16". Este
problema solo ocurre en SQL Server 2000, ya que en la
versión 7 no se presenta.

Espero que alguien pueda ayudarme. Gracias y saludos

Preguntas similares