Tabla no existe

03/09/2008 - 04:12 por rgcj | Informe spam
Hola a todos, espero alguien pueda ayudarme, tengo un store procedure en sql
server 2005 que se ha ejecutado correctamente por 2 años, el sábado pasado
empezo a mandarme el siguiente error:

Msg 30002, Level 16, State 1, Procedure tI_DPE022_RESULTADO, Line 80
Cannot INSERT DPE022_RESULTADO because DPE021_CASO_PREG_COMP_EMP_CONT does
not exist.
Msg 3609, Level 16, State 1, Procedure sp_caso_tav, Line 109
The transaction ended in the trigger. The batch has been aborted.


el SP que ejecuto es el siguiente

DECLARE llenaResultado CURSOR FOR
select distinct(nu_competencia) from DPE021_CASO_PREG_COMP_EMP_CONT
where nu_pregunta=@pregunta and nu_caso=@caso and nu_empresa=@empresa
OPEN llenaResultado
FETCH NEXT FROM llenaResultado INTO @competencia
WHILE @@FETCH_STATUS = 0
BEGIN
select @Z=nu_competencia from dpe022_resultado where
nu_competencia=@competencia and nu_pregunta=@pregunta and nu_caso=@caso and
nu_evaluado=@evaluado and nu_empresa=@empresa
if @Z is null
BEGIN
insert into
dpe022_resultado(nu_competencia,nu_pregunta,nu_caso,nu_evaluado,nu_contrato,nu_empresa,nu_hoja,nu_valor_total,nu_resultado)
values
(@competencia,@pregunta,@caso,@evaluado,@contrato,@empresa,@hoja,@valor_total,-@no_respuesta)
END
FETCH NEXT FROM llenaResultado INTO @competencia
END
CLOSE llenaResultado
DEALLOCATE llenaResultado

lo curioso es que la primera vez si inserta correctamente los renglones, a
la siguiente vuelta dice que la tabla no existe

Agradezco de antemano la ayuda que puedan brindarme

Saludos

RGCJ

Preguntas similare

Leer las respuestas

#6 rgcj
04/09/2008 - 03:37 | Informe spam
Ricardo:

Gracias por la respuesta, estaré trabajando en el trigger, te platico el
resultado, Saludos

"Ricardo Junquera" wrote:

Hola

Por el error que te da el procedimiento no parece un problema de log ni de
espacio.
Has comprobado el trigger??

Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"rgcj" wrote:

> Ricardo:
>
> Te agradezco el comentario, le vamos a buscar por allí, analizando que
> cambio hicimos, me encontré que un par de días antes, copie como 1 millon de
> renglones a tablas históricas y después los borre, como no son gran conocer
> de sql server 2005 me parece que sature algun log, pero la verdad no logramos
> encontrar nada que nos indique este hecho. ¿alguna idea?. Saludos
>
> "Ricardo Junquera" wrote:
>
> > Hola
> >
> > Puede ser que el error sea en el trigger tI_DPE022_RESULTADO ??
> >
> > Ricardo Junquera
> > Consultor Business Intelligence
> >
> > BG&S Online Consultores
> > Ganadora del Premio Microsoft Business Awards 2008.
> > Partner de Soluciones : Satisfacción de Cliente.
> >
> >
> >
> > "rgcj" wrote:
> >
> > > Hola a todos, espero alguien pueda ayudarme, tengo un store procedure en sql
> > > server 2005 que se ha ejecutado correctamente por 2 años, el sábado pasado
> > > empezo a mandarme el siguiente error:
> > >
> > > Msg 30002, Level 16, State 1, Procedure tI_DPE022_RESULTADO, Line 80
> > > Cannot INSERT DPE022_RESULTADO because DPE021_CASO_PREG_COMP_EMP_CONT does
> > > not exist.
> > > Msg 3609, Level 16, State 1, Procedure sp_caso_tav, Line 109
> > > The transaction ended in the trigger. The batch has been aborted.
> > >
> > >
> > > el SP que ejecuto es el siguiente
> > >
> > > DECLARE llenaResultado CURSOR FOR
> > > select distinct(nu_competencia) from DPE021_CASO_PREG_COMP_EMP_CONT
> > > where nu_pregunta=@pregunta and nu_caso=@caso and nu_empresa=@empresa
> > > OPEN llenaResultado
> > > FETCH NEXT FROM llenaResultado INTO @competencia
> > > WHILE @@FETCH_STATUS = 0
> > > BEGIN
> > > select @Z=nu_competencia from dpe022_resultado where
> > > nu_competencia=@competencia and nu_pregunta=@pregunta and nu_caso=@caso and
> > > nu_evaluado=@evaluado and nu_empresa=@empresa
> > > if @Z is null
> > > BEGIN
> > > insert into
> > > dpe022_resultado(nu_competencia,nu_pregunta,nu_caso,nu_evaluado,nu_contrato,nu_empresa,nu_hoja,nu_valor_total,nu_resultado)
> > > values
> > > (@competencia,@pregunta,@caso,@evaluado,@contrato,@empresa,@hoja,@valor_total,)
> > > END
> > > FETCH NEXT FROM llenaResultado INTO @competencia
> > > END
> > > CLOSE llenaResultado
> > > DEALLOCATE llenaResultado
> > >
> > > lo curioso es que la primera vez si inserta correctamente los renglones, a
> > > la siguiente vuelta dice que la tabla no existe
> > >
> > > Agradezco de antemano la ayuda que puedan brindarme
> > >
> > > Saludos
> > >
> > > RGCJ
Respuesta Responder a este mensaje
#7 rgcj
04/09/2008 - 03:38 | Informe spam
OK, asi lo hago, te platico el resultado, gracias

"Penta" wrote:

Postea el Trigger.

Respuesta Responder a este mensaje
#8 rgcj
04/09/2008 - 03:40 | Informe spam
Muchas Gracias Gustavo, así lo haré y te platico el resultado. Saludos

"Gustavo Larriera (MVP)" wrote:

Modifique el SP para que la tabla sea mencionada como dbo.NombreTabla

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"rgcj" wrote:

> Hola a todos, espero alguien pueda ayudarme, tengo un store procedure en sql
> server 2005 que se ha ejecutado correctamente por 2 años, el sábado pasado
> empezo a mandarme el siguiente error:
>
> Msg 30002, Level 16, State 1, Procedure tI_DPE022_RESULTADO, Line 80
> Cannot INSERT DPE022_RESULTADO because DPE021_CASO_PREG_COMP_EMP_CONT does
> not exist.
> Msg 3609, Level 16, State 1, Procedure sp_caso_tav, Line 109
> The transaction ended in the trigger. The batch has been aborted.
>
>
> el SP que ejecuto es el siguiente
>
> DECLARE llenaResultado CURSOR FOR
> select distinct(nu_competencia) from DPE021_CASO_PREG_COMP_EMP_CONT
> where nu_pregunta=@pregunta and nu_caso=@caso and nu_empresa=@empresa
> OPEN llenaResultado
> FETCH NEXT FROM llenaResultado INTO @competencia
> WHILE @@FETCH_STATUS = 0
> BEGIN
> select @Z=nu_competencia from dpe022_resultado where
> nu_competencia=@competencia and nu_pregunta=@pregunta and nu_caso=@caso and
> nu_evaluado=@evaluado and nu_empresa=@empresa
> if @Z is null
> BEGIN
> insert into
> dpe022_resultado(nu_competencia,nu_pregunta,nu_caso,nu_evaluado,nu_contrato,nu_empresa,nu_hoja,nu_valor_total,nu_resultado)
> values
> (@competencia,@pregunta,@caso,@evaluado,@contrato,@empresa,@hoja,@valor_total,)
> END
> FETCH NEXT FROM llenaResultado INTO @competencia
> END
> CLOSE llenaResultado
> DEALLOCATE llenaResultado
>
> lo curioso es que la primera vez si inserta correctamente los renglones, a
> la siguiente vuelta dice que la tabla no existe
>
> Agradezco de antemano la ayuda que puedan brindarme
>
> Saludos
>
> RGCJ
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida