Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Inicio
Casa
Índices
Buscar
Artículo al azar
Cambios recientes
English
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
PL/PgSQL
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Ficha de lenguaje de programación|nombre=PL/pgSQL|logo=[[File:Postgresql elephant.svg|120px]]|desarrollador=Jan Wieck|influido_por=[[PL/SQL]], [[Ada (lenguaje de programación)|Ada]]|sitio_web={{url|https://www.postgresql.org/docs/current/static/plpgsql.html}}}} '''PL/pgSQL (Procedural Language/PostgreSQL Structured Query Language)''' es un [[Programación imperativa|lenguaje imperativo]] provisto por el [[Sistema de gestión de base de datos|gestor de base de datos]] [[PostgreSQL]]. Implementado por Jan Wieck, PL/pgSQL apareció por primera vez con PostgreSQL 6.4, publicado el 30 de octubre de 1998.<ref>{{Cita web|url=https://www.postgresql.org/docs/current/static/release-6-4.html|título=PostgreSQL Documentation, Appendix E: Release Notes, Release 6.4|títulotrad=Documentación PostgreSQL, Apéndice E: Notas de la versión, Versión 6.4|fecha=Junio de 2012|editorial=PostgreSQL Global Development Group}}</ref> Permite ejecutar [[SQL|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 [[Cliente-servidor|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 de dato|tipo básico o de tipo complejo]] (por ejemplo, registros, vectores, conjuntos o incluso tablas), permitiéndose [[Tipo de dato abstracto|tipificación polimórfica]] para [[Abstracción (programación orientada a objetos)|funciones abstractas]] o genéricas (referencia a variables de tipo [[Programación orientada a objetos|objeto]]). == Ejemplo de código PL/pgSQL == <pre>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; '</pre> == Referencias == <references /> == Enlaces externos == * [http://www.postgresql.org/docs/current/static/plpgsql.html PL/pgSQL en el manual de PostgreSQL] (en inglés) {{Control de autoridades}} [[Categoría:SQL]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
PL/PgSQL
»
Añadir idiomas
Añadir tema