lunes, 24 de diciembre de 2012

Creando funciones en Postgres


En este mes, vamos hacer funciones para usarlos en el Postgres y eventualmente en el Postgis, haremos un par de ejemplos para ver como es su funcionamiento.

 

1)      Crear una función que concatena dos celdas horizontales de tipo “text” o “string” de una tabla.

2)      Crear una función que sume horizontalmente dos celdas de tipo “numérico” de una tabla

 
a)      Primero creamos una función que se llame “__concatenacolumnas” que concatenara dos columnas de texto, hacemos un click derecho en la parte de funciones y seleccionamos “new function…”.



b)      Aparecerá una ventana con varias pestañas para crear la función. La primera que se muestra es la de “Properties” En el aparto de Name ponemos el nombre de la función, en este ejemplo es “__concatenacolumnas”, en el apartado de Owner seleccionamos en la pestaña desgozable “postgres”, en el apartado de Return Type seleccionamos “text” (ya que la concatenación de dos textos es otro texto) y en el apartado de Language seleccionamos “plpsql” (que será el lenguaje que estará escrito nuestra funcion).



c)       En la pestaña Options, y en el apartado Volatily seleccionamos “VOLATILE”.



d)      En la pestaña Parameters definiremos las variables para la función. Se definirá dos variables de tipo texto llamados columna1 y columna2.

 

Para lo cual, en el apartado Datatype seleccionamos “text” (que es el tipo de variable texto), en el apartado Argument name ponemos el nombre de la variable, que será columna1 y presionamos el botón “add”. Hacemos lo mismo para la variable columna2

 

e)      Finalmente en la pestaña Definition escribimos la función en si, hay que respetar los nombres de las variables y el tipo de resultado que devolverá la función (si en el principio se definió que el resultado de la función en la pestaña Properties en el apartado Return Type como “text”, la función debe devolver un text)



Repetimos lo mismo para la función que sumara dos columnas numéricas


 



Luego vemos nuestras funciones creadas en la seccion Functions
 
Luego probamos estas funciones, para eso creamos una tabla llamada “TABLA_INGEOGRAFOS”.


Probamos la función “__concatenacolumnas”
 
 

Probamos la función “__sumacolumnas”

 
Esperando que sea de utilidad este post y también deseándoles a todos ustedes una Feliz Navidad 2012 y un próspero año 2013, hasta el próximo mes.

 
ª