Em 28 de setembro de 2015 06:41, Eloi escreveu:
> On 2015-09-25 10:33, Eloi wrote:
>
>> 1) A função não esta a funcionar devidamente. Suponho que relacionado
>> com esta parte:
>> AND t2.country_id = '||$$'$$||quote_ident(country_code)||$$'$$
>> Algo esta mal que não
On 2015-09-28 16:21, Sebastian Webber wrote:
AND t2.country_id = '||$$'$$||country_code||$$'$$
Como você queria representar os dados? quote_ident vai colocar eles
entre aspas duplas. Talvez o bloco todo possa ser reescrito com
quote_literal:
AND t2.country_id = QUOTE_LITERAL(country_code)
On 2015-09-25 10:33, Eloi wrote:
1) A função não esta a funcionar devidamente. Suponho que relacionado
com esta parte:
AND t2.country_id = '||$$'$$||quote_ident(country_code)||$$'$$
Algo esta mal que não consigo identificar.
O quote_ident() sobra, julgo que porque se trata de uma string e não
Ao usar a seguinte função
http://paste.ubuntu.com/9543365/
Estou recebendo um erro, informando que a função atingiu o fim e não
encontrou um retorno. Não tenho muita experiência com PLPGSQL mas
acredito que o retorno final está lá (RETURN sucess;)
--
Matheus Saraiva da Silva
Chapecó - SC
2014-12-16 17:47 GMT-02:00 Matheus Saraiva matheus.sara...@gmail.com:
Ao usar a seguinte função
http://paste.ubuntu.com/9543365/
Estou recebendo um erro, informando que a função atingiu o fim e não
encontrou um retorno. Não tenho muita experiência com PLPGSQL mas acredito
que o retorno
Em Ter, 2014-12-16 às 17:56 -0200, Matheus de Oliveira escreveu:
2014-12-16 17:47 GMT-02:00 Matheus Saraiva
matheus.sara...@gmail.com:
Ao usar a seguinte função
http://paste.ubuntu.com/9543365/
Estou recebendo um erro, informando que a função
Em 16/12/14, Matheus Saraivamatheus.sara...@gmail.com escreveu:
Em Ter, 2014-12-16 às 17:56 -0200, Matheus de Oliveira escreveu:
2014-12-16 17:47 GMT-02:00 Matheus Saraiva
matheus.sara...@gmail.com:
Ao usar a seguinte função
http://paste.ubuntu.com/9543365/
Estou
Em 16/12/2014 18:11, Matheus Saraiva matheus.sara...@gmail.com escreveu:
Em Ter, 2014-12-16 às 17:56 -0200, Matheus de Oliveira escreveu:
2014-12-16 17:47 GMT-02:00 Matheus Saraiva
matheus.sara...@gmail.com:
Ao usar a seguinte função
http://paste.ubuntu.com/9543365/
Ola a toda a lista,
Estou a tentar fazer funcionar a seguinte função para mover todas as
tabelas de um esquema para outro.
Não obtenho nenhum erro mas no entanto nada é movido.
Peculiaridades: o nome do esquema de origem está em PascalCase e o de
destino em minúsculas.
Alguém me pode indicar o
2013/12/18 Eloi e...@openmailbox.org
Ola a toda a lista,
Estou a tentar fazer funcionar a seguinte função para mover todas as
tabelas de um esquema para outro.
Não obtenho nenhum erro mas no entanto nada é movido.
Peculiaridades: o nome do esquema de origem está em PascalCase e o de
On 2013-12-18 15:23, Matheus de Oliveira wrote:
2013/12/18 Eloi e...@openmailbox.org
Ola a toda a lista,
Estou a tentar fazer funcionar a seguinte função para mover todas
as
tabelas de um esquema para outro.
Não obtenho nenhum erro mas no entanto nada é movido.
Peculiaridades: o nome do
2013/12/18 Eloi Ribeiro e...@openmailbox.org:
On 2013-12-18 15:23, Matheus de Oliveira wrote:
www.dextra.com.br/postgres [1]
Certo, já funciona.
Sim, a Dextra funciona, e o PostgreSQL também.
Brincadeirinha… mas como você não cortou nem sequer a assinatura da
mensagem a que respondeu, foi
On 18-12-13 18:51, Guimarães Faria Corcete DUTRA, Leandro wrote:
2013/12/18 Eloi Ribeiro e...@openmailbox.org:
On 2013-12-18 15:23, Matheus de Oliveira wrote:
www.dextra.com.br/postgres [1]
Certo, já funciona.
Sim, a Dextra funciona, e o PostgreSQL também.
Brincadeirinha… mas como você não
Salve, pessoal. Estou precisando desenvolver uma função para retornar
saldo e comecei desta maneira, mas não retorna dados:
Criei um type:
CREATE TYPE saldo_caixa AS (
debito numeric(18,2)
);
A função:
CREATE OR REPLACE FUNCTION saldocaixa() RETURNS SETOF saldo_caixa AS
$body$
DECLARE
Em 18 de setembro de 2012 15:26, Stclara stcl...@gmail.com escreveu:
A função:
CREATE OR REPLACE FUNCTION saldocaixa() RETURNS SETOF saldo_caixa AS
$body$
DECLARE
debito_atual NUMERIC(18,2);
linha saldo_caixa;
begin
SELECT INTO debito_atual SUM(value_cash) FROM cashes WHERE
Em 18/09/2012 15:26, Stclara escreveu:
Salve, pessoal. Estou precisando desenvolver uma função para retornar
saldo e comecei desta maneira, mas não retorna dados:
Criei um type:
CREATE TYPE saldo_caixa AS (
debito numeric(18,2)
);
A função:
CREATE OR REPLACE FUNCTION saldocaixa()
Salve, senhores.
Ficou assim:
CREATE TYPE saldo_caixa AS (
saldo_anterior numeric(18,2),
debito numeric(18,2),
credito numeric(18,2),
saldo numeric(18,2),
inicio date,
fim date
);
CREATE OR REPLACE FUNCTION saldocaixa(date, date) RETURNS SETOF
saldo_caixa AS
$body$
DECLARE
Obrigado a todos pelas vossas dicas.
Fiz isso, retirei a parte de criação de colunas da função e agora não salta
nenhum erro.
No entanto seria de esperar que quando um polígono fosse editado o campo
área fosse actualizado e isso não acontece.
Alguém me sabe dizer o que é que está mal?
CREATE
A trigger é BEFORE? Caso contrário não atualiza mesmo.
--
Matheus de Oliveira
Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho -
LCADhttp://www.lcad.icmc.usp.br/
Instituto de Ciências Matemáticas e de Computação -
ICMChttp://www.icmc.usp.br/
Universidade de São
Sim, não está bem assim?
CREATE TRIGGER trg_postfire_study_area_UPDATE_dimensoes
BEFORE INSERT OR UPDATE
ON sch_forestal.postfire_study_area
FOR EACH ROW
EXECUTE PROCEDURE fun_dimensoes();
Eloi Ribeiro
GIS Analyst
39,45º -0,40º
flavors.me/eloiribeiro
No dia 20 de Março de 2012
Se você passar a trigger para AFTER ao invés de BEFORE suas chances de não
ter lock aumentam, mas não desaparecem. Analisando por cima suas
necessidades, não acredito que a melhor solução seja realmente adicionar
uma coluna em uma trigger, isso me parece uma tarefa administrativa, ou
seja, sempre
Cancelando as demais transações/conexões também resolve seu problema
*se, e somente se* isto não for um problema no seu cenário.
Minha experiência com DDL dentro de funções é de resultado sempre inesperado.
Se a função é específica para ser executada em horário controlado,
geralmente é uma mão
O melhor será separar esta função em duas:
A primeira que verifique se os campos existem e se não os criam.
E a segunda como disparador para que se actualizem com os inserts e updates.
Obrigado pela ajuda!
Eloi Ribeiro
GIS Analyst
39,45º -0,40º
flavors.me/eloiribeiro
No dia 16 de Março de 2012
Antes de nada obrigada pela vossas respostas.
Efectivamente, Flavio, o esquema tg_table_schema não existe. Só depois
buscando um pouco mais encontrei que tinha de por a sentencia SQL ALTER
TABLE assim:
EXECUTE 'ALTER TABLE ' || quote_ident(esquema) || '.' ||
quote_ident(tabela) || ' ADD COLUMN
Em 15 de março de 2012 07:19, Eloi Ribeiro eloi.ribe...@gmail.com escreveu:
ERROR: no se puede hacer ALTER TABLE en «postfire_study_area» porque está
siendo usada por consultas activas en esta sesión
A mensagem é clara: não se pode fazer um ALTER TABLE sobre uma tabela
que está sendo
Ola a todos,
Estou a fazer a seguinte função para que me actualize o campo 'area' cada
vez que exista um INSERT ou UPDATE numa tabela.
O problema está que o campo 'area' pode não existir e gostava que nesse
caso o campo seja criado e preenchido para todos os registos.
Como tenho salta-me o erro
Quando edito a geometria salta o seguinte erro:
ERROR: no existe el esquema «tg_table_schema»
CONTEXTO: sentencia SQL: «ALTER TABLE TG_TABLE_SCHEMA.TG_TABLE_NAME ADD
COLUMN area bigint»
O erro é claro (embora em espanhol, língua que não domino):
Não existe o esquema tg_table_schema.
Existe
Em 12 de março de 2012 07:11, Eloi Ribeiro eloi.ribe...@gmail.com escreveu:
Ola a todos,
Estou a fazer a seguinte função para que me actualize o campo 'area' cada
vez que exista um INSERT ou UPDATE numa tabela.
O problema está que o campo 'area' pode não existir e gostava que nesse caso
o
Bem, já consegui alguns progressos com a função.
No entanto tenho o seguinte erro:
ERROR: no se puede hacer ALTER TABLE en «postfire_study_area» porque está
siendo usada por consultas activas en esta sesión
CONTEXTO: sentencia SQL: «ALTER TABLE sch_forestal.postfire_study_area ADD
COLUMN area
Olá Jose,
Fuçando um pouco fora da limitada documentação do PostgreSQL, em versões
anteriores à 8.4, pode-se converter o tipo ctid para um tipo utilizável
através da função tidout() e mais algumas gambiarras.
O código-raimunda equivalente ao que passei, que assim codificado funciona em
versões
-0300
Subject: Re: [pgbr-geral] AJUDA COM FUNÇÃO
Oi Jose,
Para pegar aproximadamente 1 de cada 10 registros da sua tabela, faça o
seguinte:
--insert into ONDEVOCEQUISER
select *
from SUATABELA
where (
cast(
substring(
cast(ctid as varchar(20)),
2,
position(',' in cast(ctid
Olá Jose,
Bom dia ! Estou retomando este trabalho e tenho algumas dúvidas. Obrigado.
1) Tentei executar o insert as select que voce me passou e está dando o
seguinte erro:
cdrger=# \i insert.sql
psql:insert.sql:18: ERRO: não pode converter tipo tid para character
varying
Puuutz, de
Em 6 de abril de 2010 13:41, Mozart Hasse mozart.ha...@usa.net escreveu:
Olá Jose,
Bom dia ! Estou retomando este trabalho e tenho algumas dúvidas. Obrigado.
1) Tentei executar o insert as select que voce me passou e está dando o
seguinte erro:
cdrger=# \i insert.sql
psql:insert.sql:18:
Gostaria de uma ajuda no seguinte: tenho várias tabelas com o mesmo prefixo:
cdrger=# \dt
Lista de relações
Esquema | Nome | Tipo | Dono
-+++--
public | cdrger20090227 | tabela | postgres
public | cdrger20090306 | tabela |
Oi Jose,
Para pegar aproximadamente 1 de cada 10 registros da sua tabela, faça o
seguinte:
--insert into ONDEVOCEQUISER
select *
from SUATABELA
where (
cast(
substring(
cast(ctid as varchar(20)),
2,
position(',' in cast(ctid as varchar(20)))-2 )
as int) * 199+
cast(
substring(
Olá,
Em 23 de março de 2010 11:28, Jose Luis Ramos
jose.ramos.caj...@gmail.comescreveu:
Gostaria de uma ajuda no seguinte: tenho várias tabelas com o mesmo
prefixo:
cdrger=# \dt
Lista de relações
Esquema | Nome | Tipo | Dono
Em 23 de março de 2010 11:28, Jose Luis Ramos
jose.ramos.caj...@gmail.com escreveu:
Gostaria de uma ajuda no seguinte: tenho várias tabelas com o mesmo prefixo:
cdrger=# \dt
Lista de relações
Esquema | Nome | Tipo | Dono
Pessoal,
Já dei uma olhada nas mensagens do fórum, sei que vi algo relativo a isto aqui.
Preciso que o retorno de uma função retorne mais de um valor dentro de
uma sql, tipo retorno multi-coluna.
Já tentei vetores também, mas o retorno é uma estrutura textual dentro do campo.
ex. select xy();
Eu faço isso com a function retornando um type... funciona direitinho...:
CREATE TYPE typ_teste
( codigo integer, texto, text);
CREATE FUNCTION fnc_teste() RETURNS setof typ_teste
Acho que da pra fazer com out tb
create function fnc_teste (out, out)
2009/7/9 Rudinei Dias rudinei.d...@gmail.com
Ola
O que estou fazendo e saindo dele ( sqlrdd ) para trabalhar nativamente
com o Postgres.
nao precisa fazer isso
o sqlrdd acessa o banco direto por queries tambem
e nao precisa desse tipo de gambiarra para acessar os dados
[]s
Luiz
www.xharbour.com.br
Ola tetraetila
Vc esta utilizando o sqlrdd do xharbour.com correto.
se sim nao e necessario fazer o que vc esta tentando
o sqlrdd e bem inteligente quando a bloqueios de arquivos
[]s
Luiz
___
pgbr-geral mailing list
Vou verificar isto agora, muito obrigado novamente...
Adilson
- Original Message -
From: Osvaldo Kussama [EMAIL PROTECTED]
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Saturday, November 01, 2008 6:23 PM
Subject: Re: [pgbr-geral] Ajuda com função
Valeu Osvaldo,
Muito obrigado, vou testar.
Adilson
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
- Original Message -
From: Osvaldo Kussama [EMAIL PROTECTED]
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Friday, October 31, 2008 9:07 PM
Subject: Re: [pgbr-geral] Ajuda com função
select * FROM a003.a003015_tbl as a, pgrowlocks('a003.a003015_tbl
Em 01/11/08, tetraetila(R)[EMAIL PROTECTED] escreveu:
- Original Message -
From: Osvaldo Kussama [EMAIL PROTECTED]
Não deu para entender o que você quer fazer.
Vejamos:
- innermyst é uma string que contém o comando SQL que você desja executar.
- myrec é um record contendo todos os
Adilson:
Pelo visto você continua tentando trabalhar com bloqueios de registros.
Já foi dito anteriormente, e vou insistir novamente: dê uma estudada
na maneira como o PostgreSQL trabalha (particularmente MVCC [1]) pois
é bem diferente da maneira com que um dbf trabalha.
Osvaldo
[1]
Pessoal
Este select abaixo funciona da forma que eu quero, ele me retorna os campos que
estão bloqueados na tabela, Ok!
Gostaria de fazer uma função com ele.
select * FROM a003.a003015_tbl as a, pgrowlocks('a003.a003015_tbl') AS p WHERE
p.locked_row = a.ctid order by sr_recno;
Com base em
Em 31/10/08, tetraetila(R)[EMAIL PROTECTED] escreveu:
Este select abaixo funciona da forma que eu quero, ele me retorna os campos
que estão bloqueados na tabela, Ok!
Gostaria de fazer uma função com ele.
select * FROM a003.a003015_tbl as a, pgrowlocks('a003.a003015_tbl') AS p
WHERE
Necessito numa função, entrar com um data e um numero enteiro no segundo
parametro que é a quantidade de meses a somar e retorna uma data...
sei que existe a funcao date + interval ' x month' mas nao estou
conseguindo implementar esse x como uma variável.
Ficaria grato se alguem me desse uma
2008/10/15 Tatu [EMAIL PROTECTED]
Necessito numa função, entrar com um data e um numero enteiro no segundo
parametro que é a quantidade de meses a somar e retorna uma data...
sei que existe a funcao date + interval ' x month' mas nao estou
conseguindo implementar esse x como uma variável.
2008/10/15, Tatu [EMAIL PROTECTED]:
Necessito numa função, entrar com um data e um numero enteiro no segundo
parametro que é a quantidade de meses a somar e retorna uma data...
sei que existe a funcao date + interval ' x month' mas nao estou
conseguindo implementar esse x como uma variável.
Olá, Tatu
Segue abaixo uma função. Poderia verificar se é isso que você precisa.
CREATE OR REPLACE FUNCTION soma_data(date,integer)
RETURNS date AS $soma_data$
SELECT $1+$2;
$soma_data$ LANGUAGE SQL IMMUTABLE;
SELECT soma_data('2008-10-13',20); //chamando a função
ou ainda de uma forma mais
2008/10/15 Tatu [EMAIL PROTECTED]:
Necessito numa função, entrar com um data e um numero enteiro no segundo
parametro que é a quantidade de meses a somar e retorna uma data...
$ PREPARE incrementador_de_dias(date,integer) AS SELECT $1 + $2;
$ EXECUTE incrementador_dedias(CURRENT_DATE,30);
sei
53 matches
Mail list logo