Problema con create trigger after update

27/01/2005 - 12:47 por Carlos | Informe spam
he creado un desencadenador para una tabla y todo funciona bien hasta
que utilizo columnas que contegan _

para simplificar pongo esta asignacion como ejemplo

CREATE TRIGGER CNG_ACT_INSCRIP_ASIS ON congreso_asistente
AFTER UPDATE
AS
Declare @codigopostal nvarchar(10)
set @codigopostal=cp_cont

me dice que:
invalid column name cp_cont

estoy SEGURO de que es el nombre correcto por lo tanto que esta fallando
ya que si utilizo campos sin guion bajo me lo complia perfectamente.

Llevo toda la mñn y toy "desesperada"

Un saludo

Preguntas similare

Leer las respuestas

#6 ulises
27/01/2005 - 14:26 | Informe spam
Esta sentencia en realidad no está haciendo ninguna
modificación :

update dbo.congreso_inscripcion
set dbo.congreso_inscripcion.nombre=nombre
where dbo.congreso_inscripcion.ID_inscripcion=ID_inscripcion

ya que esta modificando el campo "nombre" de la tabla
congreso_inscripción con el mismo valor de "nombre" y es
ese el motivo por el cual no te da error. ¿Los campos
nombre y direccion_cont en que tabla se encuentran? si los
campos se encuentran en la tabla inserted tendrías que
hacer lo siguiente :

update dbo.congreso_inscripcion
set dbo.congreso_inscripcion.nombre= i.nombre
from inserted i
where dbo.congreso_inscripcion.ID_inscripcion=i.ID_inscripcion

Saludos,
Ulises

Mostrar la cita
#7 Carlos
27/01/2005 - 14:37 | Informe spam
Bueno los campos son de la tabla congreso_asistente que es sobre la que
se ejecuta el trigger y he leido que no se puede poner la extension.

no es una insercion es un update

¿se utiliza la tabla inserted i para obtenter el valor de la modificacion?

A lo mejor estoy metiendo la pata, os agradezco vuestro interes..

Mostrar la cita
#8 Carlos
27/01/2005 - 14:52 | Informe spam
SI SI ya esta con lo de i from inserted i...

Pero la pregunta del millon
porque solo salta con los nombres con guion bajo y no con los otros ?????

GRACIAS A ULISES POR LA IDEA y GRACIAS A CARLOS SACRISTAN POR EL INTERES

Carlos escribió:
Mostrar la cita
#9 Salvador Ramos
27/01/2005 - 15:25 | Informe spam
La verdad que como indica Carlos es muy extraño. Prueba a generar el script
sql desde el enterprise manager, a copiarlo en el query analyzer y a generar
la tabla con otro nombre, y a ver si te ocurre lo mismo. Es para descartar
el teclear algo para evitar cualquier diferencia.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Mostrar la cita
#10 ulises
27/01/2005 - 16:50 | Informe spam
Carlos, te aconsejo que le des una mirada en el BOL al tema
de triggers, pero en resumen los triggers trabajan con dos
tablas deleted e inserted donde se guarda en el caso de
actualización los valores de las filas antes y después de
la actualizacón, de esta manera cuando trabajes en el
trigger tienes que especificar de que tabla vas a realizar
la operación, de esa manera tu trigger quedaría en algo como :

CREATE TRIGGER CNG_ACT_INSCRIP_ASIS ON congreso_asistente
AFTER UPDATE
AS
IF UPDATE(nombre) BEGIN
update congreso_inscripcion
set c.nombre = i.nombre
from inserted i join congreso_inscripcion c
on i.ID_inscripcion= c.ID_inscripcion
END
IF UPDATE(direccion_cont) BEGIN
update congreso_inscripcion
set c.direccion_emp = i.direccion_cont
from inserted i join congreso_inscripcion c
on i.ID_inscripcion= c.ID_inscripcion
END

Saludos,
Ulises

Mostrar la cita
los otros ?????
Mostrar la cita
POR EL INTERES
Mostrar la cita
es sobre la que
Mostrar la cita
la extension.
Mostrar la cita
de la modificacion?
Mostrar la cita
interes..
Mostrar la cita
dbo.congreso_inscripcion.ID_inscripcion=ID_inscripcion
Mostrar la cita
dbo.congreso_inscripcion.ID_inscripcion=ID_inscripcion
Mostrar la cita
Ads by Google
Search Busqueda sugerida