Hola,
Esta sería una opción sin hacer llamada recursiva:
CREATE OR REPLACE FUNCTION public.reversa
(
IN origen integer
)
RETURNS integer AS
$$
DECLARE
resultado integer;
BEGIN
resultado := 0;
WHILE (origen > 0)
LOOP
resultado := (resultado * 10) + (origen % 10);
origen := orige
1) Creo que tu profesor de "bases de datos" se quedo en Pascal.
2) Con que argumento estas invocando a esta funcion?
- Mensaje original -
> De: "Carlos T. Groero Carmona"
> Para: "Lista PostgreSql"
> Enviados: Jueves, 25 de Agosto 2016 21:42:
Hola Carlos, el error creo que te dice que ese valor no es válido para
un INTEGER,
y eso significa que debes hacer un casteo a INTEGER en algunas o todas
estas lineas siguientes, pues en ella hay funciones que no devuelven
INTEGER y eso puede generar que se quede algun numeric o algun otro ti
Hola Carlos:
Aquí un ejemplo. Usando una simple función recursiva:
CREATE OR REPLACE FUNCTION reverse_order(var int8, rest int8)
RETURNS pg_catalog.int8 AS
$BODY$
DECLARE
inverted int8;
BEGIN
if var=0 then
inverted:=rest;
else
inverted:=reverse_order(var/10, rest * 10 + var % 10);
end if;
ret
Hola lista, ante todo gracias por cualquier comentario o sugerencia...
Tengo esta función que tiene como parámetro de entrada un número, y luego
devuelve ese número invertido...ejemplo...entro el 531 y tiene que devolver
el 135, la función o ejercicio tiene como principal características que no
pue
Buenas noches comunidad,
Soy nuevo utilizando postgreSQL y tengo un problema con una función:
CREATE OR REPLACE FUNCTION "SC_TEST".fn_seleccionarmaterial(refcursor,
pm_codigoacceso character varying)
RETURNS refcursor AS
$BODY$
begin
OPEN $1 for SELECT
"CO_FechaIngreso","CO_Procedencia","CO_Ti
Bueno pues toco hacerlo como me indic Miguel Angel Hernadez
CREATE OR REPLACE FUNCTION act_depre_cuentas(codcia character varying(2))
RETURNS TABLE(campo01 tipo_dato01, campo02 tipo_dato02, ... , campoN
tipo_datoN) AS
Así funciona perfecto
Gracias a todos por sus rápidas respuestas
El 5 de
Si retornas la tabla
CREATE FUNCTION getDatos()
RETURNS NOMBRE_TABLA
LANGUAGE sql
AS $_$
select id, texto from prueba;
$_$;
Aqui yo uso el lenguaje SQL y no el PLPGSQL
El 5 de septiembre de 2013 10:42, Dario Andres Almonte Alonzo <
trib...@gmail.com> escribió:
> Si esa opción ya la h
Si esa opción ya la había visto.
Lo que quería saber es si se podía retornar la tabla sin tener que definir
nada, igual que en SQL Server para ahorrar algo de tiempo ya que son
muchísimas funciones.
El 5 de septiembre de 2013 11:39, Juan escribió:
> Holas
>
>
> Se me ocurrre si creas un tipo c
Holas
Se me ocurrre si creas un tipo con los nombres y tipos de tu salida,
podriasa poner as setof MyTypo
y problema solucionado, ojo!!! especulo, no lo probé.
salu2
jmdc
2013/9/5 Dario Andres Almonte Alonzo :
> A eso es que me refería, siempre tengo que indicar cada columna que voy a
> retorn
anteriormente
- Mensaje original -
De: "Dario Andres Almonte Alonzo"
Para: "Juan"
CC: "Miguel Angel Hernandez Moreno" ,
"pgsql-es-ayuda"
Enviados: Jueves, 5 de Septiembre 2013 11:42:15
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda]
A eso es que me refería, siempre tengo que indicar cada columna que voy a
retornar de una u otra forma y es bastante tedioso cuando tienes funciones
que retornan hasta 50 columnas.
A lo que me refiero es si no hay forma de evitar eso como en SQL server
donde solo haces:
create funtion prueba(codc
buen día lista
estoy migrando una base de datos de sql server 2005 a postgres 9.2.4,ya he
pasando las funciones que retornan valores escalares sin ningún problema.
ahora estoy empezando a migrar las funciones que retornan conjuntos de
registros y me he encontrado con un problema, me dice que debo
Hola
creao que tienes que hacer el
select * from act_depre_cuentas('01');
as
(campo01 tipo_dato01, campo02 tipo_dato02, ... , campoN tipo_datoN)
o lo que puedes hacer es
CREATE OR REPLACE FUNCTION act_depre_cuentas(codcia character varying(2))
RETURNS TABLE(campo01 tipo_dato01, campo02 tip
*---*
Date: Fri, 12 Aug 2011 11:58:36 -0430
Subject: [pgsql-es-ayuda] ayuda con función
From: mavi...@gmail.com
To: pgsql-es-ayuda@postgresql.org
Buen día Lista!!!
Agregué una función en mi base de datos para calcular la distancia entre dos
puntos, se ejecuta bien para
El 12/08/11 18:28, Virginia escribió:
Buen día Lista!!!
Agregué una función en mi base de datos para calcular la distancia
entre dos puntos, se ejecuta bien para efectos de agregarse como
función, pero al momento de utilizarla me da un error, me pueden
ayudar a saber por qué? qué es lo que est
Gracias!
No me había fijado en que estaba retornando el tipo de dato equivocado
El 12 de agosto de 2011 14:16, Rodrigo Gonzalez
escribió:
> On 08/12/2011 03:38 PM, Virginia wrote:
>
>> Hola!!!
>> Cambié el AS por INTO y me da el siguiente error
>>
>>
>> ERROR: invalid input syntax for inte
On 08/12/2011 03:38 PM, Virginia wrote:
Hola!!!
Cambié el AS por INTO y me da el siguiente error
ERROR: invalid input syntax for integer: "2.34898380940343"
CONTEXT: PL/pgSQL function "calculo_distancia" while casting return
value to function's return type
** Error **
ERRO
Virginia
CREATE OR REPLACE FUNCTION calculo_distancia(numeric, numeric, numeric, numeric)
RETURNS integer AS
El numero del resultado seguramente excede el integer no es integer
es mas grande seguramente
en
CREATE OR REPLACE FUNCTION calculo_distancia(numeric, numeric, numeric, numeric)
RETU
Hola!!!
Cambié el AS por INTO y me da el siguiente error
ERROR: invalid input syntax for integer: "2.34898380940343"
CONTEXT: PL/pgSQL function "calculo_distancia" while casting return value
to function's return type
** Error **
ERROR: invalid input syntax for integer: "2.3489
Excerpts from Virginia's message of vie ago 12 12:28:36 -0400 2011:
> BEGIN
> SELECT (acos(sin(radians(LATITUD_1)) * sin(radians(LATITUD_2)) +
> cos(radians(LATITUD_1)) * cos(radians(LATITUD_2)) *
> cos(radians(LONGITUD_1) - radians(LONGITUD_2))) * 6378) as resultado;
> RETURN resu
Buen día Lista!!!
Agregué una función en mi base de datos para calcular la distancia entre dos
puntos, se ejecuta bien para efectos de agregarse como función, pero al
momento de utilizarla me da un error, me pueden ayudar a saber por qué? qué
es lo que estoy haciendo mal???
Esta es la función:
--
Excerpts from Anthony's message of mar jun 28 15:19:37 -0400 2011:
> On 28/06/11 10:47, Alvaro Herrera wrote:
> > Excerpts from Anthony's message of lun jun 27 17:53:39 -0400 2011:
> >
> >
> >> wo, esa solución me funciono, separando las funciones , no sabia que
> >> para postgresql se pod
On 28/06/11 10:47, Alvaro Herrera wrote:
Excerpts from Anthony's message of lun jun 27 17:53:39 -0400 2011:
wo, esa solución me funciono, separando las funciones , no sabia que
para postgresql se podia hacer funciones así , como en la documentación
solo hablan del uso de las macros esa
Excerpts from Anthony's message of lun jun 27 17:53:39 -0400 2011:
> wo, esa solución me funciono, separando las funciones , no sabia que
> para postgresql se podia hacer funciones así , como en la documentación
> solo hablan del uso de las macros esas con el Datum , que bien gracias.
Sí,
El 27/06/2011 12:00, iescriva escribió:
El 27/06/11 06:14, Anthony escribió:
/otrasfunciones.c: In function âfactoâ:
otrasfunciones.c:18: warning: passing argument 1 of âfactoâ makes
pointer from integer without a cast
Aquí te esta diciendo el compilador que estas creando un puntero d
El 27/06/11 06:14, Anthony escribió:
> /otrasfunciones.c: In function âfactoâ:
> otrasfunciones.c:18: warning: passing argument 1 of âfactoâ makes
> pointer from integer without a cast
Aquí te esta diciendo el compilador que estas creando un puntero desde
un entero. Es por la linea: "result = n*fa
Saludos a todos en la lista. Tengo una función en C programada que
calcula un factorial (al menos eso creo) con la técnica de recursividad,
es algo puramente de prueba para aprender sobre como programar en C para
postgreSQL. Lo hice mirando el manual de PostgreSQL y tiene el código
siguiente.
Saludos a todos en la lista. Tengo una función en C programada que
calcula un factorial (al menos eso creo) con la técnica de recursividad,
es algo puramente de prueba para aprender sobre como programar en C para
postgreSQL. Lo hice mirando el manual de PostgreSQL y tiene el código
siguiente.
Estimadas Lista
Muchas gracias por su ayuda, en especial a Alvaro...
Nuevamente Gracias!!!
> Date: Wed, 15 Apr 2009 13:31:44 -0400
> From: alvhe...@alvh.no-ip.org
> To: alfonsoreyesc...@hotmail.com
> CC: pgsql-es-ayuda@postgresql.org
> Subject: Re: [pgsql-es-ayuda] Ayuda con
ALFONSO REYES escribió:
>
> Estimada Lista
> Espero me puedan ayudar indicándome como se debe llamar a una función
> record desde otra función, a continuación coloco las dos funciones
Creo que debe ser algo como esto:
declare
unidad ...;
establecimiento ...;
begin;
bla
Estimados
Agradecería me ayuden, ya que quisiera realizar una función para reutilizarla y
no escribir el mismo sql, cada vez que lo necesite
Nuevamente gracias por su ayuda...
Att Alfonso Reyes
From: alfonsoreyesc...@hotmail.com
To: pgsql-es-ayuda@postgresql.org
Subject: [pgsql-es-ayuda] Ayuda
Estimada Lista
Espero me puedan ayudar indicándome como se debe llamar a una función record
desde otra función, a continuación coloco las dos funciones
Cualquier ayuda es bienvenida.
Mil gracias de antemano...
/*** Función record***/
CREATE OR REPLACE FUNCTION "danmaf"."gen_obt_e
Qué tal estoy programando una función en PLPGSQL y ya he avanzado bastante
diría yo pero ahora me he topado con un problema el cual por ningún lado he
podido resolver.
La función tiene como propósito el checar una tabla para encontrar similitudes
entre sus datos (duplicados), para después quit
34 matches
Mail list logo