PL/PgSQL

PL/PgSQL

PL/pgSQL (Procedural Language/PostgreSQL Structured Query Language) es un lenguaje imperativo provisto por el gestor de base de datos PostgreSQL. Permite ejecutar comandos SQL mediante un lenguaje de sentencias imperativas y uso de funciones, dando mucho más control automático que las sentencias SQL básicas.

Desde PL/pgSQL se pueden realizar cálculos complejos y crear nuevos tipos de datos de usuario. Como un verdadero lenguaje de programación, dispone de estructuras de control repetitivas y condicionales, además de la posibilidad de creación de funciones que pueden ser llamadas en sentencias SQL normales o ejecutadas en eventos de tipo disparador (trigger).

Una de las principales ventajas de ejecutar programación en el servidor de base de datos es que las consultas y el resultado no tienen que ser transportadas entre el cliente y el servidor, ya que los datos residen en el propio servidor. Además, el gestor de base de datos puede planificar optimizaciones en la ejecución de la búsqueda y actualización de datos.

Las funciones escritas en PL/pgSQL aceptan argumentos y pueden devolver valores de tipo básico o de tipo complejo (por ejemplo, registros, vectores, conjuntos o incluso tablas), permitiéndose tipificación polimórfica para funciones abstractas o genéricas (referencia a variables de tipo objeto).

Ejemplo de código PL/pgSQL

CREATE OR REPLACE FUNCTION llamada_no_interesa(integer) RETURNS integer AS '
DECLARE 
  _llamada_id ALIAS FOR $1;
  _contacto_id integer;

BEGIN

  -- buscar el contacto relacionado
  SELECT _contacto_id INTO _contacto_id FROM llamadas WHERE id = _llamada_id;

  -- actualizar atendida en llamadas
  UPDATE llamadas SET atendida = true WHERE id = _llamada_id;

  -- actualizar no_interesa en contactos
  UPDATE contactos SET no_interesado = true WHERE id = _contacto_id;

  RETURN _contacto_id;

END;
'

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • pgsql — PostgreSQL Datenbank, auch Installationspfadname (/usr/local/pgsql) …   Acronyms

  • pgsql — PostgreSQL Datenbank, auch Installationspfadname (/usr/local/pgsql) …   Acronyms von A bis Z

  • PL/pgSQL — (Procedural Language/PostGres Structured Query Language  процедурное расширение языка СУБД добавляет управляющие конструкции к стандарту SQL; допускает сложные вычисления; может использовать все объекты БД, определенные пользователем; прост в… …   Википедия

  • PL/pgSQL — (Procedural Language/PostgreSQL Structured Query Language) is a procedural language supported by the PostgreSQL RDBMS. It closely resembles Oracle s PL/SQL language.PL/pgSQL, as a fully featured programming language, allows much more procedural… …   Wikipedia

  • PL/pgSQL — (Procedural Language/PostgreSQL Structured Query Language) est un langage procédural supporté par PostgreSQL. Il ressemble fortement au PL/SQL d Oracle. Portail des bases de données Ce document provient de « PL/pgSQL » …   Wikipédia en Français

  • PL/PgSQL — (Procedural Language/PostgreSQL Structured Query Language) es un lenguaje imperativo provisto por el gestor de base de datos PostgreSQL. Permite ejecutar comandos SQL mediante un lenguaje de sentencias imperativas y uso de funciones, dando mucho… …   Enciclopedia Universal

  • PostgreSQL — Developer(s) PostgreSQL Global Development Group Stable release 9.1.1[1] / 9.0.5 …   Wikipedia

  • Tom Lane (Open Source Software Developer) — Infobox Scientist name = Tom Lane birth date = birth date|1955|9|18 birth place = Madrid, Spain residence = U.S. nationality = field = Computer Science alma mater = Carnegie Mellon University known for = The Independent JPEG Group (IJG)… …   Wikipedia

  • PostgreSQL — Логотип PostgreSQL Тип Объектно реля …   Википедия

  • Sql — Содержание 1 История 1.1 Вопросы совместимости 2 Преимущества и недостатки …   Википедия

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”