SQL - Trigger jaquecoso

 
Vista:

Trigger jaquecoso

Publicado por carlos gutiérrez (1 intervención) el 24/07/2001 18:42:41
Hola a todos, mi problema es el siguiente:
Tengo una tabla "datospersonales" en la que hay cuatro campos, (DNI, NOmbre, Apellidos, Telefono), y un trigger que tiene que convertir a mayusculas el texto del campo nombre y a minusculas el del campo apellidos cuando se crea un nuevo registro. Desde SQL funciona bien, pero cuando lo ejecuto desde Visual Basic, coge todos los nombre y apellidos de todos los registros y los pone con el nombre y apellidos que acabo de introducir, es decir si pondo Carlos Gutiérrez, todos los campos Nombre de la tabla seran Carlos y todos los campos Apellidos serán Gutiérrez, el código de Trigger es:
CREATE TRIGGER MayusTrig2 ON DatosPersonales
FOR insert
AS
declare
@nombre char(25),
@apellidos char(50),
@dni char(12)
select @nombre=nombre, @apellidos=apellidos from inserted/** where @dni=@dni*/
set @nombre = upper(@nombre)
set @apellidos =lower(@apellidos)
update datospersonales set nombre = @nombre
update datospersonales set apellidos = @apellidos

gracias por todo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Trigger jaquecoso

Publicado por vladimir (37 intervenciones) el 24/07/2001 21:48:46
Falta la condicion de actualizacion :
y queda mas corto de esa manera

Update DatosPersonales
set nombre = UPPER(Inserted.nombre),
apellidos = LOWER(Inserted.apellidos)
from Inserted
where DatosPersonales.DNI = Inserted.DNI

suerte. vso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar