instead on sobre una vista

14/04/2004 - 13:19 por Kano | Informe spam
Buenas he creado una vista con un join de dos tablas, el caso esq quiero
insertar datos mediante la vista. Declaro un trigger de prueba sobre la
vista del tipo Insteado of Insert para q me capture las inserciones.
begin
-
select * from inserted
select CodigoMtoPersonal,null as
Codigo400,Nif,ViaPublica,Numero,CodigoMunicipio,FechaAplicacion,FechaObsolet
o,Email,Web from inserted
select
CodigoMtoPersonal,FechaNacimiento,FechaIngreso,FechaSalida,CodigoEstadoSocia
l,Login,PwdHash,Nombre,Apellido1,Apellido2 from inserted



end

con este codigo no deberia insertar, pero cuando manipulo directamente la
tabla mediante el enterprise manager la informacion q inserto queda
almacenada en la primera tabla solamente, es decir el trigger instead of no
se dispara, podriais indicarme porque o como lo soluciono?

Gracias por adelantado

Preguntas similare

Leer las respuestas

#1 Miguel Egea
14/04/2004 - 14:00 | Informe spam
los triggers se disparan sobre los objetos que se crean, es decir si vas a
las tablas directamente el trigger no se dispara, tendrías que poner otro
trigger en la tabla, si quieres que se hagan inserciones solo desde tu otro
trigger puedes usar un truqillo como este
http://www.configuracionesintegrale...?articulo%
4

Saludos
Miguel Egea
"Kano" <kano01ATterra.es> escribió en el mensaje
news:
Buenas he creado una vista con un join de dos tablas, el caso esq quiero
insertar datos mediante la vista. Declaro un trigger de prueba sobre la
vista del tipo Insteado of Insert para q me capture las inserciones.
begin
-
select * from inserted
select CodigoMtoPersonal,null as



Codigo400,Nif,ViaPublica,Numero,CodigoMunicipio,FechaAplicacion,FechaObsolet
o,Email,Web from inserted
select



CodigoMtoPersonal,FechaNacimiento,FechaIngreso,FechaSalida,CodigoEstadoSocia
l,Login,PwdHash,Nombre,Apellido1,Apellido2 from inserted



end

con este codigo no deberia insertar, pero cuando manipulo directamente la
tabla mediante el enterprise manager la informacion q inserto queda
almacenada en la primera tabla solamente, es decir el trigger instead of


no
se dispara, podriais indicarme porque o como lo soluciono?

Gracias por adelantado


Respuesta Responder a este mensaje
#2 Kano
15/04/2004 - 08:17 | Informe spam
bueno, me expresé mal .. lo q quiero decir esq cuando manipulo directamente
la vista, se me guardan los cambios en una de las dos tablas q entran en la
vista. El trigger está sobre la vista, deberia activarse si manipulo la
vista desde el enterprise manager ? en todo caso no lo hace, lo cual supone
un problema grave para la consistencia de los datos de las tablas q integran
la vista.






"Miguel Egea" escribió en el mensaje
news:
los triggers se disparan sobre los objetos que se crean, es decir si vas a
las tablas directamente el trigger no se dispara, tendrías que poner otro
trigger en la tabla, si quieres que se hagan inserciones solo desde tu


otro
trigger puedes usar un truqillo como este



http://www.configuracionesintegrale...?articulo%
4

Saludos
Miguel Egea
"Kano" <kano01ATterra.es> escribió en el mensaje
news:
> Buenas he creado una vista con un join de dos tablas, el caso esq quiero
> insertar datos mediante la vista. Declaro un trigger de prueba sobre la
> vista del tipo Insteado of Insert para q me capture las inserciones.
> begin
> -
> select * from inserted
> select CodigoMtoPersonal,null as
>



Codigo400,Nif,ViaPublica,Numero,CodigoMunicipio,FechaAplicacion,FechaObsolet
> o,Email,Web from inserted
> select
>



CodigoMtoPersonal,FechaNacimiento,FechaIngreso,FechaSalida,CodigoEstadoSocia
> l,Login,PwdHash,Nombre,Apellido1,Apellido2 from inserted
>
>
>
> end
>
> con este codigo no deberia insertar, pero cuando manipulo directamente


la
> tabla mediante el enterprise manager la informacion q inserto queda
> almacenada en la primera tabla solamente, es decir el trigger instead of
no
> se dispara, podriais indicarme porque o como lo soluciono?
>
> Gracias por adelantado
>
>


Respuesta Responder a este mensaje
#3 Adrian D. Garcia
15/04/2004 - 10:38 | Informe spam
Has intendado realizar la modificacion desde el Enterprise Manager, moverte
luego de fila y despues volver a ejecutar la consulta de la vista?
Es muy posible que los cambios no los veas en el enterprise manager en el
momento ya que el cree que solo se han cambiado los datos que estas editando
y lo lo que realmente este haciendo el trigger instead of.

Saludos

Adrian D. Garcia
NDSoft
MCSD
"Kano" <kano01ATterra.es> escribió en el mensaje
news:
bueno, me expresé mal .. lo q quiero decir esq cuando manipulo


directamente
la vista, se me guardan los cambios en una de las dos tablas q entran en


la
vista. El trigger está sobre la vista, deberia activarse si manipulo la
vista desde el enterprise manager ? en todo caso no lo hace, lo cual


supone
un problema grave para la consistencia de los datos de las tablas q


integran
la vista.






"Miguel Egea" escribió en el mensaje
news:
> los triggers se disparan sobre los objetos que se crean, es decir si vas


a
> las tablas directamente el trigger no se dispara, tendrías que poner


otro
> trigger en la tabla, si quieres que se hagan inserciones solo desde tu
otro
> trigger puedes usar un truqillo como este
>



http://www.configuracionesintegrale...?articulo%
> 4
>
> Saludos
> Miguel Egea
> "Kano" <kano01ATterra.es> escribió en el mensaje
> news:
> > Buenas he creado una vista con un join de dos tablas, el caso esq


quiero
> > insertar datos mediante la vista. Declaro un trigger de prueba sobre


la
> > vista del tipo Insteado of Insert para q me capture las inserciones.
> > begin
> > -
> > select * from inserted
> > select CodigoMtoPersonal,null as
> >
>



Codigo400,Nif,ViaPublica,Numero,CodigoMunicipio,FechaAplicacion,FechaObsolet
> > o,Email,Web from inserted
> > select
> >
>



CodigoMtoPersonal,FechaNacimiento,FechaIngreso,FechaSalida,CodigoEstadoSocia
> > l,Login,PwdHash,Nombre,Apellido1,Apellido2 from inserted
> >
> >
> >
> > end
> >
> > con este codigo no deberia insertar, pero cuando manipulo directamente
la
> > tabla mediante el enterprise manager la informacion q inserto queda
> > almacenada en la primera tabla solamente, es decir el trigger instead


of
> no
> > se dispara, podriais indicarme porque o como lo soluciono?
> >
> > Gracias por adelantado
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Kano
15/04/2004 - 11:19 | Informe spam
no no .. simplemente no se ejecuta el trigger ... voy a las tablas donde
deberia insetar los datos y no lo hace simplemente por su cuenta inserta los
valores en una de las dos tablas y en la otra no lo hace (son 2 tablas)




"Adrian D. Garcia" escribió en el mensaje
news:
Has intendado realizar la modificacion desde el Enterprise Manager,


moverte
luego de fila y despues volver a ejecutar la consulta de la vista?
Es muy posible que los cambios no los veas en el enterprise manager en el
momento ya que el cree que solo se han cambiado los datos que estas


editando
y lo lo que realmente este haciendo el trigger instead of.

Saludos

Adrian D. Garcia
NDSoft
MCSD
"Kano" <kano01ATterra.es> escribió en el mensaje
news:
> bueno, me expresé mal .. lo q quiero decir esq cuando manipulo
directamente
> la vista, se me guardan los cambios en una de las dos tablas q entran en
la
> vista. El trigger está sobre la vista, deberia activarse si manipulo la
> vista desde el enterprise manager ? en todo caso no lo hace, lo cual
supone
> un problema grave para la consistencia de los datos de las tablas q
integran
> la vista.
>
>
>
>
>
>
> "Miguel Egea" escribió en el mensaje
> news:
> > los triggers se disparan sobre los objetos que se crean, es decir si


vas
a
> > las tablas directamente el trigger no se dispara, tendrías que poner
otro
> > trigger en la tabla, si quieres que se hagan inserciones solo desde tu
> otro
> > trigger puedes usar un truqillo como este
> >
>



http://www.configuracionesintegrale...?articulo%
> > 4
> >
> > Saludos
> > Miguel Egea
> > "Kano" <kano01ATterra.es> escribió en el mensaje
> > news:
> > > Buenas he creado una vista con un join de dos tablas, el caso esq
quiero
> > > insertar datos mediante la vista. Declaro un trigger de prueba sobre
la
> > > vista del tipo Insteado of Insert para q me capture las inserciones.
> > > begin
> > > -
> > > select * from inserted
> > > select CodigoMtoPersonal,null as
> > >
> >
>



Codigo400,Nif,ViaPublica,Numero,CodigoMunicipio,FechaAplicacion,FechaObsolet
> > > o,Email,Web from inserted
> > > select
> > >
> >
>



CodigoMtoPersonal,FechaNacimiento,FechaIngreso,FechaSalida,CodigoEstadoSocia
> > > l,Login,PwdHash,Nombre,Apellido1,Apellido2 from inserted
> > >
> > >
> > >
> > > end
> > >
> > > con este codigo no deberia insertar, pero cuando manipulo


directamente
> la
> > > tabla mediante el enterprise manager la informacion q inserto queda
> > > almacenada en la primera tabla solamente, es decir el trigger


instead
of
> > no
> > > se dispara, podriais indicarme porque o como lo soluciono?
> > >
> > > Gracias por adelantado
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Adrian D. Garcia
15/04/2004 - 11:30 | Informe spam
Ok, puedes pasarnos el script completo de la vista mas el script del trigger
instead of?

Saludos

Adrian D. Garcia
NDSoft
MCSD
"Kano" <kano01ATterra.es> escribió en el mensaje
news:%
no no .. simplemente no se ejecuta el trigger ... voy a las tablas donde
deberia insetar los datos y no lo hace simplemente por su cuenta inserta


los
valores en una de las dos tablas y en la otra no lo hace (son 2 tablas)




"Adrian D. Garcia" escribió en el mensaje
news:
> Has intendado realizar la modificacion desde el Enterprise Manager,
moverte
> luego de fila y despues volver a ejecutar la consulta de la vista?
> Es muy posible que los cambios no los veas en el enterprise manager en


el
> momento ya que el cree que solo se han cambiado los datos que estas
editando
> y lo lo que realmente este haciendo el trigger instead of.
>
> Saludos
>
> Adrian D. Garcia
> NDSoft
> MCSD
> "Kano" <kano01ATterra.es> escribió en el mensaje
> news:
> > bueno, me expresé mal .. lo q quiero decir esq cuando manipulo
> directamente
> > la vista, se me guardan los cambios en una de las dos tablas q entran


en
> la
> > vista. El trigger está sobre la vista, deberia activarse si manipulo


la
> > vista desde el enterprise manager ? en todo caso no lo hace, lo cual
> supone
> > un problema grave para la consistencia de los datos de las tablas q
> integran
> > la vista.
> >
> >
> >
> >
> >
> >
> > "Miguel Egea" escribió en el


mensaje
> > news:
> > > los triggers se disparan sobre los objetos que se crean, es decir si
vas
> a
> > > las tablas directamente el trigger no se dispara, tendrías que poner
> otro
> > > trigger en la tabla, si quieres que se hagan inserciones solo desde


tu
> > otro
> > > trigger puedes usar un truqillo como este
> > >
> >
>



http://www.configuracionesintegrale...?articulo%
> > > 4
> > >
> > > Saludos
> > > Miguel Egea
> > > "Kano" <kano01ATterra.es> escribió en el mensaje
> > > news:
> > > > Buenas he creado una vista con un join de dos tablas, el caso esq
> quiero
> > > > insertar datos mediante la vista. Declaro un trigger de prueba


sobre
> la
> > > > vista del tipo Insteado of Insert para q me capture las


inserciones.
> > > > begin
> > > > -
> > > > select * from inserted
> > > > select CodigoMtoPersonal,null as
> > > >
> > >
> >
>



Codigo400,Nif,ViaPublica,Numero,CodigoMunicipio,FechaAplicacion,FechaObsolet
> > > > o,Email,Web from inserted
> > > > select
> > > >
> > >
> >
>



CodigoMtoPersonal,FechaNacimiento,FechaIngreso,FechaSalida,CodigoEstadoSocia
> > > > l,Login,PwdHash,Nombre,Apellido1,Apellido2 from inserted
> > > >
> > > >
> > > >
> > > > end
> > > >
> > > > con este codigo no deberia insertar, pero cuando manipulo
directamente
> > la
> > > > tabla mediante el enterprise manager la informacion q inserto


queda
> > > > almacenada en la primera tabla solamente, es decir el trigger
instead
> of
> > > no
> > > > se dispara, podriais indicarme porque o como lo soluciono?
> > > >
> > > > Gracias por adelantado
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida