eliminar cursores

24/05/2005 - 21:07 por Eduardo De Luca | Informe spam
Hola como andan . Si alguno me ayuda se los voy a agradecer. Estoy en
proceso de eliminar unos cursores de unos procesos que tardaban horas ,
están quedando en minutos . Pude eliminarlos de todos lados pero me estoy
trabando en el lugar menos inesperado.

Escenario:



Tabla A

Mov_id (numérico) no autoincremental

.

..

otros campos





TablaB



Alt_id es autoincremental (manualmente) dependiendo del valor máximo
ingresado en tabla A mov_id





El tema es para un registro no hay problema ya que seria el max de mov_id
(tabla A)

Y luego para "el" sgte max (alt_id) (tablaB) +1



El problema es que tengo la solución pero no se como hacerla en TSQL .

La solución (valga la redundancia) que yo propongo es tipo cursor y es justo
lo que quiero eliminar ya que no inserto de a un registro sino en lote (mas
o menos 100000)



Alguno se le ocurre una idea?



Desde ya gracias ¡!!!!
 

Leer las respuestas

#1 Alejandro Mesa
24/05/2005 - 21:36 | Informe spam
Eduardo,

Esa es una de las limitaciones de usar este mecanismo (columnas cuyo valor
se incrementa basado en el valor de una columna en otra tabla), es util
cuando insertas filas de una en una, pero terminas procesando un lote fila a
fila cuando debes insertar mas de una fila a la vez.


AMB

"Eduardo De Luca" wrote:

Hola como andan . Si alguno me ayuda se los voy a agradecer. Estoy en
proceso de eliminar unos cursores de unos procesos que tardaban horas ,
están quedando en minutos . Pude eliminarlos de todos lados pero me estoy
trabando en el lugar menos inesperado.

Escenario:



Tabla A

Mov_id (numérico) no autoincremental

..

...

otros campos





TablaB



Alt_id es autoincremental (manualmente) dependiendo del valor máximo
ingresado en tabla A mov_id





El tema es para un registro no hay problema ya que seria el max de mov_id
(tabla A)

Y luego para "el" sgte max (alt_id) (tablaB) +1



El problema es que tengo la solución pero no se como hacerla en TSQL .

La solución (valga la redundancia) que yo propongo es tipo cursor y es justo
lo que quiero eliminar ya que no inserto de a un registro sino en lote (mas
o menos 100000)



Alguno se le ocurre una idea?



Desde ya gracias ¡!!!!



Preguntas similares