Ayuda con funcion

15/09/2004 - 19:30 por Luis Gerardo Carrillo Herrera | Informe spam
Hola amigos, soy nuevo en esto y estoy tratando de crear una funcion en
MSDE 2000a, se supone que la funcion debe recibir un numero de puesto y
debe verificar si esta dentro del rango de puestos correctos, el codigo
es el siguiente:

NOTAS:
PUESTO es la tabla
IdPuesto es el campo (numeric(2,0))


CREATE FUNCTION VerificaIdPuesto
/*Recibe el id del puesto para validarlo */
(@lIdPuesto NUMERIC(2,0))
RETURNS int
AS
BEGIN
/* Function body */
DECLARE @lMinId NUMERIC(2,0), @lMaxId NUMERIC(2,0)
DECLARE @lResult int
/* Selecciona los minimos y máximos */

SET @lMinId = MIN(PUESTO.IdPuesto)
SET @lMaxId = MAX(PUESTO.IdPuesto)

/* Verifica si el valor del Id puesto esta en el
rango válido */
IF (@lIdPuesto >= @lMinId and @lIdPuesto <= @lMaxId)
SET @lResult = 1
ELSE
SET @lResult = 0
RETURN @lResult
END

EL problema es que al compilar la funcion aparece este mensaje:

El prefijo de columna 'PUESTO' no coincide con un nombre de tabla o con
un alias usado en la consulta

Alguna sugerencia.

Gracias de antemano
___________________________
Ing. Luis Gerardo Carrillo Herrera
GRUPO SIMSA
División Gas
Torreón, Coahuila México
 

Leer las respuestas

#1 Isaías
15/09/2004 - 19:56 | Informe spam
Debe ser algo mas sencillo:


CREATE FUNCTION VerificaIdPuesto
/*Recibe el id del puesto para validarlo */
(@lIdPuesto NUMERIC(2,0))
RETURNS int
AS
BEGIN
/* Function body */
IF EXISTS(SELECT lIdPuesto FROM PUESTO WHERE lIdPuesto =
@lIdPuesto)
SET @lResult = 1
ELSE
SET @lResult = 0
RETURN @lResult
END

Preguntas similares