73 - Función SQL que no retorna dato (void)


Cuando queremos crear una función que no retorne dato lo debemos indicar luego de la palabra clave returns disponiendo el valor void:

create or replace function [nombre de la función]([parámetros]) returns void
as
 [comandos sql]
language sql

Confeccionaremos una función que cargue cuatro registros en la tabla usuarios:

create or replace function cargarusuarios() returns void
as
$$
 insert into usuarios (nombre, clave) values ('Marcelo','Boca');
 insert into usuarios (nombre, clave) values ('JuanPerez','Juancito');
 insert into usuarios (nombre, clave) values ('Susana','River');
 insert into usuarios (nombre, clave) values ('Luis','River');
$$
 language sql;

Otra sintaxis permitida en PostgreSQL es encerrar los comando SQL entre dos símbolos de $ (esto es muy útil si tenemos que utilizar la simple comilla dentro de los comandos SQL, en caso de disponer como delimitador las simples comillas la función debe expresarse:

create or replace function cargarusuarios() returns void
as
'
 insert into usuarios (nombre, clave) values (''Marcelo'',''Boca'');
 insert into usuarios (nombre, clave) values (''JuanPerez'',''Juancito'');
 insert into usuarios (nombre, clave) values (''Susana'',''River'');
 insert into usuarios (nombre, clave) values (''Luis'',''River'');
'
language sql;

Debemos disponer dos comillas simples en lugar de una.

Luego para llamar la función lo hacemos:

select cargarusuarios();


Retornar