Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2008, 13:59
homess
 
Fecha de Ingreso: junio-2008
Mensajes: 12
Antigüedad: 15 años, 10 meses
Puntos: 1
ayuda con una funcion

saludos

estoy tratando de correr este codigo en pgadmin III,

CREATE function AddFile(
PortalId int,
FileName character(200) ,
Extension character(200) ,
Size int,
Width int,
Height int,
ContentType character(400) ,
Folder character(400) ,
FolderID int)returns void as $$

DECLARE FileID int;
DECLARE cnt int;

BEGIN

SET FileID = NULL;
SELECT count(*) into cnt FROM Files f
WHERE f.FolderID = FolderID AND f.FileName = FileName;
if cnt > 0 then
SELECT f.FileId into FileID FROM Files f WHERE f.FolderID = FolderID
AND f.FileName = FileName;
end if;
IF FileID IS Null Then
BEGIN
INSERT INTO Files (
PortalId,
FileName,
Extension,
Size,
Width,
Height,
ContentType,
Folder,
FolderID
)
VALUES (
PortalId,
FileName,
Extension,
Size,
Width,
Height,
ContentType,
Folder,
FolderID
);
SELECT last_insert_id();
END;
ELSE
BEGIN
UPDATE Files
SET Files.FileName = FileName,
Files.Extension = Extension,
Files.Size = Size,
Files.Width = Width,
Files.Height = Height,
Files.ContentType = ContentType,
Files.Folder = Folder,
Files.FolderID = FolderID
WHERE Files.FileId = FileID;
SELECT FileID;
END;
END IF;
end; $$ LANGUAGE plpgsql;
es una funcion que encontre y queria probarlo ya que estoy aprendiendo pero obtengo un error y revisando es en esta linea: SET FileID = NULL;
revise en el sitio de postgresql y hay un comando SET pero solo para session role, etc

como puedo correguir este codigo ... de ante mano gracias por sus rrespuestas