Novato, problemas con Trigger o Desencadenador

15/10/2003 - 13:15 por Juan de Dios Martínez | Informe spam
Hola, bueno tengo una duda que seguro podéis resolver, soy novato en esto
del SQL Server y lo que necesito es crear un desencadenador que se dispare
al insertar un código existente en una tabla y que muestre un mensaje de que
el código ya existe.
Muchas gracias por vuestra atención

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
15/10/2003 - 13:26 | Informe spam
Con los datos que nos proporcionas no nos es suficiente: adjunta el
script de creación de las tablas y qué es lo que no se puede repetir. De
todos modos, ¿no te sirve crear un índice único o restricción sobre el(los)
campo(s) que no quieras que se dupliquen?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL

Archivo de respuestas anteriores en:
http://groups.google.com/groups?hl=....public.es
.sqlserver

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/defaul.../70faq.asp
http://www.helpdna.net/bosqlfaq.htm

"Juan de Dios Martínez" escribió en el mensaje
news:bmja6g$d43$
Hola, bueno tengo una duda que seguro podéis resolver, soy novato en esto
del SQL Server y lo que necesito es crear un desencadenador que se dispare
al insertar un código existente en una tabla y que muestre un mensaje de


que
el código ya existe.
Muchas gracias por vuestra atención


Respuesta Responder a este mensaje
#2 Juan de Dios Martínez
15/10/2003 - 14:01 | Informe spam
Hola, no utilizo ningún script para crear la tabla, creo la tabla en modo
diseño desde el administrador corporativo de SQL Server, básicamente tiene 3
campos

Tipo -> int
Código -> varchar(8) *Este campo es el que tiene índice único
Artículo -> varchar(50)

Utilizo como cliente VB .Net para acceder a la Tabla Artículos, me da un
mensaje de error cada vez que se inserta un código que ya existe, lo que
quiero es que esto lo gestione SQL Server (si se puede), mediante un trigger
o Procedimiento Almacenado, en vez de utilizar Try...Catch...Finally...End
Try de Visual para controlar la excepción
Respuesta Responder a este mensaje
#3 Carlos Sacristan
15/10/2003 - 14:13 | Informe spam
¿Cómo que lo gestione? ¿Que no te lance el error quieres decir?. Bueno,
si quieres eso, podrías crear un procedimiento almacenado que lo validara,
tal que así:

****************************

CREATE PROCEDURE dbo.pa_insertaArticulo @tipo INT, @codigo VARCHAR(8),
@articulo VARCHAR(50) AS

IF NOT EXISTS(SELECT * FROM tablaArticulos WHERE codigo= @codigo)
INSERT tablaArticulos VALUES (@tipo, @codigo, @articulo)

****************************

Aunque no sé por qué no quieres validarlo desde la aplicación cliente...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL

Archivo de respuestas anteriores en:
http://groups.google.com/groups?hl=....public.es
.sqlserver

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/defaul.../70faq.asp
http://www.helpdna.net/bosqlfaq.htm

"Juan de Dios Martínez" escribió en el mensaje
news:bmjcr0$24v$
Hola, no utilizo ningún script para crear la tabla, creo la tabla en modo
diseño desde el administrador corporativo de SQL Server, básicamente tiene


3
campos

Tipo -> int
Código -> varchar(8) *Este campo es el que tiene índice único
Artículo -> varchar(50)

Utilizo como cliente VB .Net para acceder a la Tabla Artículos, me da un
mensaje de error cada vez que se inserta un código que ya existe, lo que
quiero es que esto lo gestione SQL Server (si se puede), mediante un


trigger
o Procedimiento Almacenado, en vez de utilizar Try...Catch...Finally...End
Try de Visual para controlar la excepción


Respuesta Responder a este mensaje
#4 Javier Loria
15/10/2003 - 15:38 | Informe spam
Hola Juan de Dios:
Te cuento una historia que repito mucho:
No soy muy buen carpintero, me gusta la carpinteria pero no soy buen
carpintero. Los carpinteros usan muchas herramientas para su trabajo, tienen
varios tipos de martillos, varios tipos de serruchos, seguetas y otros
instumentos especiales para cortar, etc. En mi caso, uso un martillo y un
serrucho y con esto casi hago todo. CASI hago una silla, CASI hago una mesa,
CASI hago un
La moraleja es usa la herramienta adecuada, para el trabajo adecuado.
El servidor MS-SQL es un gestor de Base de Datos y SQL es basicamente un
leguaje para recuperar datos.
No uses el SQL para gestionar errores que deberia manejar VB.NET, ya que
si usas SQL para esta labor CASI haras un gestor de errores. :)

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Juan de Dios Martínez escribio:
Hola, no utilizo ningún script para crear la tabla, creo la tabla en
modo diseño desde el administrador corporativo de SQL Server,
básicamente tiene 3 campos

Tipo -> int
Código -> varchar(8) *Este campo es el que tiene índice único
Artículo -> varchar(50)

Utilizo como cliente VB .Net para acceder a la Tabla Artículos, me da
un mensaje de error cada vez que se inserta un código que ya existe,
lo que quiero es que esto lo gestione SQL Server (si se puede),
mediante un trigger o Procedimiento Almacenado, en vez de utilizar
Try...Catch...Finally...End Try de Visual para controlar la excepción
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida