Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

[SOLUCIONADO] Bloques DECLARE/BEGIN/END en PL/pgSQL

Estas en el tema de Bloques DECLARE/BEGIN/END en PL/pgSQL en el foro de PostgreSQL en Foros del Web. Hola, comunidad. Estoy migrando desde Oracle a PostgreSQL y me haría falta ejecutar un bloque DECLARE ... BEGIN ... END con un fragmento de código ...
  #1 (permalink)  
Antiguo 07/01/2015, 15:20
Avatar de Kluster  
Fecha de Ingreso: agosto-2005
Ubicación: Cuba
Mensajes: 86
Antigüedad: 18 años, 7 meses
Puntos: 1
Pregunta Bloques DECLARE/BEGIN/END en PL/pgSQL

Hola, comunidad.

Estoy migrando desde Oracle a PostgreSQL y me haría falta ejecutar un bloque DECLARE ... BEGIN ... END con un fragmento de código para probar algunas cosas, sin necesidad de hacer CREATE OR REPLACE FUNCTION, como se hace en Oracle, pero me da un error de sintaxis. Es posible hacer eso?

Gracias
  #2 (permalink)  
Antiguo 08/01/2015, 07:27
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Bloques DECLARE/BEGIN/END en PL/pgSQL

Declare-Begin-End es llamado un bloque anonimo. Su nombre se da, ya que tal como dices, no hay necesidad de crear funciones ni procedimientos con un nombre establecido, sino simplemente un fragmento de codigo que se ejecuta.

En postgresql, este concepto no existia hasta la versión 9.0. Si tienes esta versión o superior, lo puedes hacer, de lo contrario no es posible.

http://www.postgresql.org/docs/9.0/static/sql-do.html

Saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 09/01/2015, 16:48
Avatar de Kluster  
Fecha de Ingreso: agosto-2005
Ubicación: Cuba
Mensajes: 86
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: Bloques DECLARE/BEGIN/END en PL/pgSQL

Maldito Postgres... tengo la versión 9.4 pero no me funcionaba, el problema es que no sabía que había que poner DO $$ delante del bloque, y finalizarlo con $$, porque PL/SQL no lleva esos tokens, y ninguna documentación que he leído lo decía. Gracias.

Etiquetas: bases-de-datos-general, bloques, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:03.