06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • 71Z799014MO 59 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> en PostgreSQL<br />

Sentencia<br />

perform<br />

execute<br />

exit<br />

return<br />

if<br />

loop<br />

while<br />

for<br />

raise<br />

Descripción<br />

Realiza una llamada a comando sql<br />

Interpreta una ca<strong>de</strong>na como comando sql<br />

Termina la ejecución <strong>de</strong> un bloque<br />

Termina la ejecución <strong>de</strong> una función<br />

Ejecuta sentencias condicionalmente<br />

Repite la ejecución <strong>de</strong> un conjunto <strong>de</strong> sentencias<br />

Repite un conjunto <strong>de</strong> sentencias mientras<br />

Repite un conjunto <strong>de</strong> sentencias utilizando una variable <strong>de</strong> control<br />

Despliega un mensaje <strong>de</strong> error a advertencia<br />

La sentencia <strong>de</strong> asignación utiliza el operador ‘:=‘ para almacenar los resultados<br />

<strong>de</strong> expresiones en variables. PostgreSQL proporciona otra sentencia para<br />

hacer asignaciones, select. Esta sentencia <strong>de</strong>be obtener como resultado un solo<br />

valor para que pueda ser almacenado en la variable:<br />

select into x psugerido from productos where clave = 3;<br />

La ejecución <strong>de</strong> comandos sql como create, drop, insert o update pue<strong>de</strong>n hacerse<br />

sin ninguna sintaxis especial. La excepción es el comando select, que requiere<br />

ejecutarse con el comando perform a fin <strong>de</strong> que el resultado <strong>de</strong> la<br />

consulta sea <strong>de</strong>scartado.<br />

perform select psugerido from productos;<br />

La sentencia execute también ejecuta un comando sql pero a partir <strong>de</strong> una ca<strong>de</strong>na<br />

<strong>de</strong> texto. Esta sentencia comporta el problema <strong>de</strong> que su sintaxis no se<br />

verifica hasta la ejecución. Se pue<strong>de</strong> utilizar, por ejemplo, para procesar parámetros<br />

como comandos sql:<br />

execute $1<br />

El comando exit termina la ejecución <strong>de</strong> un bloque. Se utiliza principalmente<br />

para romper ciclos.<br />

La bifurcación, o ejecución condicional, se realiza mediante la sentencia if:<br />

if ( $1 > 0 ) then<br />

resultado := ‘Positivo’;<br />

else<br />

resultado := ‘Negativo’;<br />

end if;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!