SQL - AYUDA URGENTE

 
Vista:

AYUDA URGENTE

Publicado por eljhonb (2 intervenciones) el 14/09/2005 19:35:12
buenas, tengo el siguiente problema, estoy creando un procedimiento almacenado en sqlserver2000, este procedimiento recibre como parametros los datos de un usuario que deseo ingresar una tabla de mi base de datos. Hasta aca todo muy bien, pero uno de esos datos debe ser validado en otra tabla, me refiero a que tiene que existir ese dato en otra tabla, para poder ingresarlo. es decir en la tabla Usuarios quiero insertar estos datos(000125,pepe, sanchez, camargo,1), el 1 corresponde a un tipo de usuario que está en otra tabla. Los tipos de usuario son 1,2,3,4. entonces mi problema radica en como hago para comprobar antes de insertar que el tipo de usuario que pasaron exista en la tabla tipos.

en sql sería algo como así, lógicamente esto no funciona en sqlserver2000

CREATE PROCEDURE stIngresar

@identificacion char(20),
@nombre char(50),
@Apellido char(50),
@segapellido char(50),
@tipo int

AS

INSERT INTO Usuarios
VALUES (@identificacion,@nombre,@Apellido,@segapellido,@tipo)

CHECK @tipo EXISTS (SELECT codigo FROM Cargos)

GO

cómo hago para hacer este procedimiento???
Muchas Gracias por su respuesta.
Jhon Betancur
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:AYUDA URGENTE

Publicado por Isaías (5072 intervenciones) el 15/09/2005 17:08:06
Cambia tu validacion:

CREATE PROCEDURE stIngresar

@identificacion char(20),
@nombre char(50),
@Apellido char(50),
@segapellido char(50),
@tipo int

AS

IF NOT EXISTS(SELECT codigo FROM Cargos WHERE codigo = @tipo )
BEGIN
SELECT -1, 'Error, no existe el tipo'
RETURN(0)
END

INSERT INTO Usuarios
VALUES (@identificacion,@nombre,@Apellido,@segapellido,@tipo)
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

GRACIAS

Publicado por eljhonb (2 intervenciones) el 15/09/2005 18:22:53
muchas gracias por tu ayuda
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