Listado completo de tutoriales

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();

Ingresemos el siguiente lote de comandos SQL en pgAdmin:

 drop table if exists usuarios;
 
 create table usuarios (
   nombre varchar(30),
   clave varchar(10)
 );

-- Definimos la función cargarusuarios:
 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;

 -- Llamamos la función cargarusuarios:
 select cargarusuarios();

 -- Mostramos el contenido de la tabla usuarios:
 select * from usuarios;

La ejecución de este lote de comandos SQL genera una salida similar a:

PostgreSQL pgAdmin funciones void


Retornar