SQL Server - Ayuda con Procedimiento Almacenado

 
Vista:
Imágen de perfil de Paulo

Ayuda con Procedimiento Almacenado

Publicado por Paulo (4 intervenciones) el 16/05/2014 00:00:56
Amigos,

El tema que me trae acá es que estoy creando un procedimiento el cual inserta un registro en una tabla dependiendo de la edad de una persona. Si la persona es mayor a 18 inserta 1 en el campo mayor_edad, sino inserta 0.

El problema es que ejecuto el procedimiento y me sale el mensaje que existen valores nulos y es lo que no entiendo, ya que los parámetros se los estoy dando "en duro". Les dejo el código para que lo vean y entiendan mejor:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--USE Pruebas
CREATE PROCEDURE p_clientes
	@nombre VARCHAR(30),
	@edad INT,
	@rut VARCHAR(10)
AS
	--DECLARE @nom VARCHAR(30)
	--DECLARE @anios INT
	--DECLARE @id VARCHAR(10)
 
		IF((@edad<>null) and (@edad<>''))
			BEGIN
				SELECT @nombre=nombre, @edad=edad, @rut=rut FROM cliente
 
				IF(@edad>18)
					BEGIN
						INSERT INTO cliente(nombre, edad, rut, mayor_edad) VALUES(@nombre, @edad, @rut, 1);
					END
				ELSE
					BEGIN
						INSERT INTO cliente(nombre, edad, rut, mayor_edad) VALUES(@nombre, @edad, @rut, 0);
					END
			END
		ELSE
			BEGIN
				PRINT 'No pueden ir valores nulos'
				RETURN
			END
 
 
EXEC p_clientes "Paulo", 17, "xxxxxxxx-x"

Si pudieran orientarme en mi error se los agradecería.

Saludos desde Chile
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Ayuda con Procedimiento Almacenado

Publicado por Isaias (4558 intervenciones) el 16/05/2014 20:07:19
Simple:

If (@edad <> null) ----- Esta mal

if (@edad isnull) = 1 -----es correcto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda con Procedimiento Almacenado

Publicado por Guillermo (5 intervenciones) el 01/08/2014 22:40:05
con esta instruccion:

SELECT @nombre=nombre, @edad=edad, @rut=rut FROM cliente

los valores estan viniendo nulos si la tabla clienes esta vacia, comentala y prueba
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