El día 7 de octubre de 2011 01:25, Alejandro Carrillo
<faster...@yahoo.es> escribió:
>
> Estoy de acuerdo. Retornando un tipo VOID se simula perfectamente un
> procedimiento almacenado

Teóricamente hablando no es lo mismo. Por más que retornes un valor void (o
no retornes nada) no es suficiente para que una función sea o simule
un procedimiento.

Además los procedimientos por lo general se ejecutan mediante otra sentencia
y no dentro de una sentencia SQL. Eso es porque las funciones tienen mayores
especificaciones en cuanto a el modo de ejecución, estando preparadas para ser
iteradas muchas veces con valores parametrizados distintos, etc...

Pero, la cuestión viene a que las funciones en Postgres no tienen las mismas
limitaciones que en otros SGBD (prácticamente pueden hacer de todo, incluso
tareas de sistema si quisieras a través de PL/Python por ejemplo). Justamente
eso es lo que hace que las funciones tengan características de SPs (no solamente
el retorno VOID).

Si bien es cierta tu conclusión, la parte más importante de la simulación es
el 'alcance' de las funciones en Pg :)

Lo que sí tiene Postgres a paritr de la 9.0 son los bloques de código anónimo,
cosa que ya he utilizado en algún que otro proyecto y nos vino muy bien por no
decir de pu** madre...


-- 
--
              Emanuel Calvo
              Helpame.com
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a