Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-22 Por tôpico Lucas Possamai
Apenas um UPDATE. Com o código à cima, IF (TG_OP = 'INSERT') THEN > UPDATE public.companies SET client_code_increment = > (client_code_increment + 1) WHERE id = NEW.company_id; Mesmo que o usuário não incluísse data, ele atualizava para o próximo valor. Isto estava errado. Segue a

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-05 Por tôpico drum.lu...@gmail.com
Só para deixar registrado.. consegui fazer funcionar, segue código para futuras pesquisas: ALTER TABLE public.companies ADD COLUMN client_code_increment integer; > ALTER TABLE public.companies ALTER COLUMN client_code_increment SET NOT > NULL; > ALTER TABLE public.companies ALTER COLUMN

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-05 Por tôpico drum.lu...@gmail.com
Estou tendo problemas para adequar a function ao que eu preciso: INSERT INTO public.users > (id,email,encrypted_password,sign_in_count,created_at,updated_at,company_id) > VALUES (66,'tes...@test.com','password','0','2016-05-03 > 00:01:01','2016-05-03 00:01:01','15'); - Note como eu não estou

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-04 Por tôpico drum.lu...@gmail.com
hmm.. Conseguir fazer funcionar, da seguinte maneira: CREATE OR REPLACE FUNCTION users_code_seq() >RETURNS "trigger" AS $$ > BEGIN > > IF (TG_OP = 'INSERT') THEN > UPDATE public.company_seqs SET last_seq = (last_seq + 1) WHERE > company_id = NEW.company_id; > > END

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-04 Por tôpico drum.lu...@gmail.com
> > CREATE OR REPLACE FUNCTION users_code_seq() >RETURNS "trigger" AS $$ > --DECLARE > --code character varying; > BEGIN > IF (TG_OP = 'INSERT') THEN > UPDATE public.company_seqs SET last_seq = (last_seq + 1) WHERE > company_id = NEW.company_id; > > ELSEIF

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-03 Por tôpico drum.lu...@gmail.com
Só atualizando a function tf_users_update_code_column.. Incluido o campo *AND NEW.code IS NULL , *para que o usuário possa incluir o valor que quiser, e caso ele não inclua, a funcao insere os dados necessário. - Tinha esquecido dessa parte antes, por isto decidi postar todo o código aqui

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-03 Por tôpico drum.lu...@gmail.com
> > > 1 - Criando a funcao > > CREATE OR REPLACE FUNCTION tf_users_update_code_column() > RETURNS trigger AS $$ > > BEGIN > > IF NEW.company_id = 1 THEN > NEW.code = NEXTVAL('c1_users_code_seq'); > > ELSEIF NEW.company_id = 2 THEN > NEW.code =

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-03 Por tôpico drum.lu...@gmail.com
2016-05-04 1:40 GMT+12:00 Euler Taveira : > On 03-05-2016 01:02, drum.lu...@gmail.com wrote: > > 1 - cada usuário na tabela users faz parte de uma empresa, essa empresa > > é "determinada" pela coluna company_id na tabela users. > > > > 2 - Cada usuário, inclui os dados

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-03 Por tôpico Euler Taveira
On 03-05-2016 01:02, drum.lu...@gmail.com wrote: > 1 - cada usuário na tabela users faz parte de uma empresa, essa empresa > é "determinada" pela coluna company_id na tabela users. > > 2 - Cada usuário, inclui os dados dentro de users.code, mas se ele não > incluir, a sequencia faz o trabalho. >

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-02 Por tôpico drum.lu...@gmail.com
hmm.. na verdade preciso de algo a mais 1 - cada usuário na tabela users faz parte de uma empresa, essa empresa é "determinada" pela coluna company_id na tabela users. 2 - Cada usuário, inclui os dados dentro de users.code, mas se ele não incluir, a sequencia faz o trabalho. A questão, é que

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-02 Por tôpico drum.lu...@gmail.com
Olá pessoal, já resolvi fazendo dessa forma: -- 1 - Creating the Sequence: CREATE SEQUENCE users_code_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1000; CACHE 1; -- 2 - Setting the DEFAULT ALTER TABLE public.users ALTER COLUMN code SET DEFAULT

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-05-02 Por tôpico drum.lu...@gmail.com
Obrigado pela resposta, Matheus. Fica aqui o que fiz: -- 1 - Criando a Sequence: CREATE SEQUENCE users_code_seq > INCREMENT 1 > MINVALUE 1 > MAXVALUE 9223372036854775807 > START 1000; > CACHE 1; -- 2 - Determinando o value default ALTER TABLE public.users ALTER

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-04-22 Por tôpico Matheus de Oliveira
2016-04-20 19:47 GMT-03:00 drum.lu...@gmail.com : > nao pode ser DEFAULT pois o usuário pode escolher em setar value de sua > própria escolha > > É exatamente pra isso que o DEFAULT serve, se o inserir um valor explicitamente vai usar o que inseriu, se não inserir na coluna

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-04-20 Por tôpico drum.lu...@gmail.com
On 21 April 2016 at 10:42, Matheus de Oliveira wrote: > > On Tue, Apr 19, 2016 at 7:31 PM, drum.lu...@gmail.com < > drum.lu...@gmail.com> wrote: > >> >>- Se users.code é empty, dá um default value = 1000 >> >> > O que significa "empty"? Se for NULL, você pode

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-04-20 Por tôpico Matheus de Oliveira
On Tue, Apr 19, 2016 at 7:31 PM, drum.lu...@gmail.com wrote: > >- Se users.code é empty, dá um default value = 1000 > > O que significa "empty"? Se for NULL, você pode simplesmente fazer numa trigger do tipo BEFORE: IF (NEW.code IS NULL) THEN NEW.code = 1000; END

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-04-20 Por tôpico drum.lu...@gmail.com
Se usar nextval ao invés da coluna proposta é melhor, fique livre para mudar... também: o users.code value tem que ser único, já que o usuário pode setar um de escolha, ele não pode escolher outro que já está sendo usado por outro cliente. ___

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-04-19 Por tôpico drum.lu...@gmail.com
Acabei enviando o e-mail errado e faltou informacões... *Vamos lá novamente:* Possuo duas tabelas: *- users* - code (Coluna) *- companies* - client_code_increment (Coluna) A coluna users.code, recebe um código pelo cliente. Mas ele pode escolher em não por nenhum dado lá. Caso o

[pgbr-geral] Funcão PostgreSQL 9.2

2016-04-19 Por tôpico drum.lu...@gmail.com
Olá, Possuo duas tabelas: - users - companies Estou tentando criar uma funcão que faca: - Se users.code é empty, dá um default value = 1000 - e increment_client_code em companies deve auto-incrementar pelo próximo client code O que fiz até agora: DROP FUNCTION IF EXISTS

Re: [pgbr-geral] Funcão PostgreSQL 9.2

2016-03-01 Por tôpico drum.lu...@gmail.com
Olá, > > Pagamentos em um estado pendente não podem ser faturados e são excluídos > da sessão "invoice runs section" > > > Não consigo localizar o erro para corrigi-lo... > > > Podem dar uma luz? Se precisar de alguma info a mais posso fornecer. > > Obrigado! > > *Function:* > >> CREATE OR

[pgbr-geral] Funcão PostgreSQL 9.2

2016-02-29 Por tôpico drum.lu...@gmail.com
Olá, Pagamentos em um estado pendente não podem ser faturados e são excluídos da sessão "invoice runs section" Não consigo localizar o erro para corrigi-lo... Podem dar uma luz? Se precisar de alguma info a mais posso fornecer. Obrigado! *Function:* > CREATE OR REPLACE FUNCTION