problema trigger after update
no puedo crear un trigger ya que al ejecutarlo me dice que no reconoce el nombre de una columna, cosa que esa columna existe es de esa tabla y todo correcto.
use XXX
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'CNG_ACT_INSCRIP_ASIS' AND type = 'TR')
DROP TRIGGER CNG_ACT_INSCRIP_ASIS
GO
CREATE TRIGGER CNG_ACT_INSCRIP_ASIS ON congreso_asistente
AFTER UPDATE
AS
IF NOT @@ROWCOUNT = 1
RETURN
IF UPDATE(nombre) BEGIN
update dbo.congreso_inscripcion
set dbo.congreso_inscripcion.nombre=nombre
where dbo.congreso_inscripcion.ID_inscripcion=ID_inscripcion
END
IF UPDATE(direccion_cont) BEGIN
update dbo.congreso_inscripcion
set dbo.congreso_inscripcion.direccion_emp=direccion_cont
where dbo.congreso_inscripcion.ID_inscripcion=ID_inscripcion
END
todo funciona ok hasta que intento lo ultimo me dice que la columna direccion_cont no existe.. mentira cochina..
alguien le habia pasado esto
me puden dar una idea
gracias
use XXX
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'CNG_ACT_INSCRIP_ASIS' AND type = 'TR')
DROP TRIGGER CNG_ACT_INSCRIP_ASIS
GO
CREATE TRIGGER CNG_ACT_INSCRIP_ASIS ON congreso_asistente
AFTER UPDATE
AS
IF NOT @@ROWCOUNT = 1
RETURN
IF UPDATE(nombre) BEGIN
update dbo.congreso_inscripcion
set dbo.congreso_inscripcion.nombre=nombre
where dbo.congreso_inscripcion.ID_inscripcion=ID_inscripcion
END
IF UPDATE(direccion_cont) BEGIN
update dbo.congreso_inscripcion
set dbo.congreso_inscripcion.direccion_emp=direccion_cont
where dbo.congreso_inscripcion.ID_inscripcion=ID_inscripcion
END
todo funciona ok hasta que intento lo ultimo me dice que la columna direccion_cont no existe.. mentira cochina..
alguien le habia pasado esto
me puden dar una idea
gracias
y esto siq ue funciona...
YO ME PEGO UN TIRO.
/*create table prueba (
nombre nvarchar(10) null,
nombre_x nvarchar (10) null,
)*/
/*create table prueba2 (
nombre nvarchar(10) null,
nombre_x nvarchar (10) null,
)*/
--insert into prueba values ('carlos','carlos_x')
--insert into prueba2 values ('carlos','carlos_x')
--select * from prueba
--select * from prueba2
/*use Formacion
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'prueba_update' AND type = 'TR')
DROP TRIGGER prueba_update
GO
CREATE TRIGGER prueba_update ON prueba
AFTER UPDATE
AS
IF NOT @@ROWCOUNT = 1
RETURN
IF UPDATE(nombre) BEGIN
update prueba2
set prueba2.nombre=nombre
where prueba2.nombre_x=nombre_x
END
IF UPDATE(nombre_x) BEGIN
update prueba2
set prueba2.nombre_x=nombre_x
where prueba2.nombre=nombre
END
*/
YO ME PEGO UN TIRO.
/*create table prueba (
nombre nvarchar(10) null,
nombre_x nvarchar (10) null,
)*/
/*create table prueba2 (
nombre nvarchar(10) null,
nombre_x nvarchar (10) null,
)*/
--insert into prueba values ('carlos','carlos_x')
--insert into prueba2 values ('carlos','carlos_x')
--select * from prueba
--select * from prueba2
/*use Formacion
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'prueba_update' AND type = 'TR')
DROP TRIGGER prueba_update
GO
CREATE TRIGGER prueba_update ON prueba
AFTER UPDATE
AS
IF NOT @@ROWCOUNT = 1
RETURN
IF UPDATE(nombre) BEGIN
update prueba2
set prueba2.nombre=nombre
where prueba2.nombre_x=nombre_x
END
IF UPDATE(nombre_x) BEGIN
update prueba2
set prueba2.nombre_x=nombre_x
where prueba2.nombre=nombre
END
*/
