ayuda con trigger

30/09/2004 - 21:17 por Claudio Valdés | Informe spam
Estimados:

quisiera saber de la instruccion "in (select distinct driverno from
inserted)" que significa "from inserted", porque esta no es una tabla

create trigger isrEmployees on employees
for insert, update
as

if update(driverno)

if exists(select driverno, count(*) from employees where driverno is
not null and
driverno in (select distinct driverno from inserted) group by
driverno
having count(*)>1)
Begin
raiserror('Numero de licencia repetido, se aborto la
operacion',16,1)
rollback tran
End

Agredeciendo su colaboracion

Atte,
Claudio Valdés

Preguntas similare

Leer las respuestas

#1 MAURICIO
30/09/2004 - 21:57 | Informe spam
Inserted es la tabla que contiene los registros que estas
ingresando
Deleted es la tabla que contiene los registros que
eliminas

Por ejemplo:
Si usas: Insert NombreTabla Values (Valor1, Valor2)

La tabla inserted que empleas en el Trigger tiene la
misma estructura que NombreTabla y almacena los valores
Valor1 y Valor2

Si usas: Delete NombreTabla Where NombreCampo=condicion

La tabla Deleted que empleas en el Trigger tiene la misma
estructura que NombreTabla y almacena los valores del
registro que cumple la condicion

Si usas: Update NombreTabla Set C1=NuevoV1

Aqui se usan las dos tablas:

Inserted tendra los nuevos valores representados por
NuevoV1

Deleted tendra los valores anteriores al cambio

Espero me hayas entendido

EXITOS


Mauricio




Mostrar la cita
driverno from
Mostrar la cita
es una tabla
Mostrar la cita
where driverno is
Mostrar la cita
inserted) group by
Mostrar la cita
aborto la
Mostrar la cita
#2 Luis Ormeño
30/09/2004 - 22:06 | Informe spam
Los cursores Inserted y deleted contiene informacion del
ultimo registro agregardo y eliminado, no son tablas
fisica.

por ejemplo cuando actualizas el registro en deleted es
del anterior y en el inserted esta el modificado..




Mostrar la cita
driverno from
Mostrar la cita
es una tabla
Mostrar la cita
where driverno is
Mostrar la cita
inserted) group by
Mostrar la cita
aborto la
Mostrar la cita
#3 Maxi
30/09/2004 - 22:26 | Informe spam
Hola, los Trigger generan 2 tipos de tabla virtuales (inserted y Deleted),
donde representan la misma estructura (campos) de la tabla donde se ejecuta
el TR.

La tabla inserted contiene los nuevos valores y la Deleted los viejos
valores, entonces:

Si haces un TR para una instruccion Insert se llenara la tabla Inserted,
para una Delete la Deleted y para una UPDATE ambas.

Estas tablas se pueden manipulear como cualquier otra dentro de un TR.

Un abrazo


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Claudio Valdés" escribió en el mensaje
news:
Mostrar la cita
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.769 / Virus Database: 516 - Release Date: 24/09/2004
#4 Claudio Valdés
01/10/2004 - 02:00 | Informe spam
Muchas gracias a todos por sus respuestas

Atte,
Claudio Valdés

"Claudio Valdés" escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida