Ir para conteúdo
Fórum Script Brasil

Helio Cássio

Membros
  • Total de itens

    20
  • Registro em

  • Última visita

Tudo que Helio Cássio postou

  1. Bom dia tem como no scrip abaixo de backup ele envia um e-mail informando quando o backup apresentar algum erro ou não fizer completo? arquivo.bat REM Necessario programa forfiles.exe para apagar backups antigos REM ------------------------------------- REM *** MODIFICAR OS VALORES A SEGUIR *** REM ------------------------------------- set PGDUMP="C:\Program Files (x86)\PostgreSQL\9.0\bin\pg_dump.exe" set BACKDIR=c:\bkp set BACKDAYS=7 set PGUSER=postgres set PGPASSWORD= set PGHOST=localhost set PGDATABASE=autosystem REM ------------------------------------- REM *** não MODIFICAR DAQUI EM DIANTE *** REM ------------------------------------- set BACKFILE=dump_autosystem_%date:~-4%%date:~3,2%%date:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.sql.gz REM Apaga os arquivos mais antigos forfiles /p %BACKDIR%\ /m *.* /d -%BACKDAYS% /c "cmd /c del @FILE" REM Executa o backup echo Backup iniciado em %DATE% %TIME% >>c:\autosystem\log\backup.log echo Gerando arquivo %BACKDIR%\%BACKFILE% >>c:\autosystem\log\backup.log %PGDUMP% --compress=9 --file="%BACKDIR%\%BACKFILE%" echo Backup concluido em %DATE% %TIME% >>c:\autosystem\log\backup.log
  2. Bom Dia Gostaria de saber se tem como na função baixar converter o valor ate 999 bilhões, pois atualmente ele so converte ate 999 milhões CREATE OR REPLACE FUNCTION valor_extenso_f_teste(numeric) RETURNS text AS $BODY$ DECLARE moeda_sing text; moeda_plu text; milhao text; milhar text; unidade text; centavo text; compl_milhao text; compl_milhar text; compl_unidade text; resultado text; valor text; BEGIN IF $1 = 0 THEN return ''; END IF; --moeda corrente no singular e plural. moeda_sing := ' REAL'; moeda_plu := ' REAIS'; --formata o valor de acordo com a máscara 999999999.99 valor := replace(substr(to_char($1, '999999999D00'), 2), ' ', '0'); --usa a função valor_extenso_aux_f para obter quantos milhões. milhao := valor_extenso_aux_f(substr(valor,1,3)); IF (substr(valor,1,3)::integer > 1) THEN milhao := milhao || ' MILHOES'; ELSE IF (substr(valor,1,3)::integer = 1) THEN milhao := milhao || ' MILHAO'; END IF; END IF; --usa a função valor_extenso_aux_f para obter quantos mil. milhar := valor_extenso_aux_f(substr(valor,4,3)); IF (substr(valor,4,3)::int > 0) THEN IF substr(valor,4,3)::int = 1 THEN milhar := ' MIL'; ELSE milhar := milhar || ' MIL'; END IF; END IF; --usa a função valor_extenso_aux_f para obter quantas unidades. unidade := valor_extenso_aux_f(substr(valor,7,3)); IF (substr(valor,1,9)::integer = 1) THEN unidade := unidade || moeda_sing; ELSE unidade := unidade || moeda_plu; END IF; --usa a função valor_extenso_aux_f para obter quantos centavos centavo := valor_extenso_aux_f('0' || substr(valor,11,2)); IF (substr(valor,11,2)::integer > 1) THEN centavo := centavo || ' CENTAVOS'; ELSE IF (substr(valor,11,2)::integer = 1) THEN centavo := centavo || ' CENTAVO'; END IF; END IF; --verifica a necessidade de ',' após o milhão. IF length(trim(milhao))::integer <> 0 THEN compl_milhao := ' E '; ELSE compl_milhao := ''; END IF; --verifica a necessidade de , após o mil. IF length(ltrim(substr(valor,6,4),'0'))::int < 4 or length(trim(substr(valor,6,4),'0'))::int = 1 THEN compl_milhar := ' '; ELSE compl_milhar := ' E '; END IF; --verifica a necessidade de , após as unidades. IF length(trim(unidade))::integer <> 0 and length(trim(centavo))::integer <> 0 THEN compl_unidade := ' E '; ELSE compl_unidade := ''; END IF; resultado:= milhao || compl_milhao || milhar || compl_milhar || unidade || compl_unidade || centavo; return replace(resultado,' ',' '); END; $BODY$
  3. Boa tarde gostaria de saber tem como na conexão via putty no ubuntu caso o usuário erre a senha ao tenta fazer login no servidor ele feche o putty não dando a opção de tenta varias vezes seguidas.
  4. gostaria de converte essa explicação para sql se data 1 tiver valor > 0 data 2 e 3 não soma, se data 1 tiver valor = 0 soma data 2 data 3 não soma , se data 1 for =0 e data 2= 0 soma data 3
  5. quero o seguinte exe: data 1 tem informação então o select so pega a informação da data 1 e deconsidera a data 2 e 3 data 1 não tem informação mais a data 2 e 3 tem ele so considere a data 2 e não soma a data 3 entendeu?
  6. Bom Dia exe: Select sum(valor) from venda where (data=$data:date+1 or data=$data::date+2 or data=data$::date+3); Estou criando um relatorio e são varias empresa, se eu coloca isso na empresa que tem na data 1 , data 2 e data 3 ele vai soma as 3 data mais na empresa que so consta uma das datas ele so puxa uma, queria que quando ele encontra informação na primeira data ele não busque a segunda e assim por diante Tem como?
  7. Helio Cássio

    Registro

    Bom Dia Senhores, gostaria de saber se tem como saber qual ip executou um comando (delete/update/drop/create) no postgresql via terminal ou pgadminIII
  8. Conseguir resolver obrigado select (case when nf.obs like '%Y%' then 'CAMINHAO VOLKS Y 16.000 LTS' when nf.obs like '%X%' then 'CAMINHAO VOLSK X 17 LTS else p.nome end), pr.nome as produto from estoque e join produto pr on (pr.grid=e.produto) join pessoa p on (e.pessoa=p.grid); situação resolvida
  9. Bom Dia Estou com a seguinte situação, preciso de um comando que tenha o seguinte: tentei esse mais não deu certo select (case when nf.obs like '%Y%' then 'CAMINHAO VOLKS Y 16.000 LTS' else p.nome end), (case when nf.obs like '%X%' then 'CAMINHAO VOLSK X 17 LTS' else p.nome end), pr.nome as produto from estoque e join produto pr on (pr.grid=e.produto) join pessoa p on (e.pessoa=p.grid); ele so esta considerando o segundo case. preciso que quando a obs conta Y ele traga CAMINHAO VOLKS Y 16.000 LTS e quando conter X ele traga CAMINHAO VOLSK X 17 LTS' Helio Cássio
  10. Boa tarde Senhores, gostaria de saber se tem como deixa o arquivo como somente leitura e ao mesmo tempo coloca uma senha nele no qual o usuario consegue ver e ler o arquivo mais não consegui fazer nenhuma alteração nele há não ser que o mesmo tenha a senha.
  11. conseguir soluciona set valor=trunc(valor::numeric,2); obrigado Resolvido
  12. senhores gostaria de saber como da o update abaixo: valor | --------+ 50.99999 | autosystem=# update venda set valor=(trunc((valor)),2) where documento=9634; ERRO: coluna "valor" é do tipo double precision mas expressão é do tipo record LINHA 1: update venda set valor=(trunc((valor)),2) where documento=9634; gostaria do valor assim 50.99 att Helio Cássio
  13. Situação solucionada, obrigado pelo ajuda
  14. Boa tarde senhores sou novo aqui, como coloco o tópico como solucionado?
  15. Bom Dia senhores, gostaria de saber um comando para fazer o calculo abaixo. 7% do campo valor att Helio cassio
  16. estou testando, como faço pra identar?
  17. boa tarde senhores, estou com a seguinte situação preciso calcular media do preço unitario mais o valor so sai correto se eu colocar o group by mais preciso dos 2 valores em um comando so atualmente so consigo separado select (avg(case when operacao='V' then l.preco_unit else NULL end) - avg(case when operacao='E'then l.preco_unit else NULL end) ) as lucro_preco,((avg(case when operacao='V' then l.preco_unit else NULL end) - avg(custo_medio_empresa_f(l.empresa,l.produto,($data_ini::date -1))))*sum(case when operacao='V' then l.quantidade else null end) ) from lancto l join produto p on (p.grid=l.produto) join pessoa e on (e.grid=l.empresa) where tipo='='C" group p.nome; select (avg(case when operacao='V' then l.preco_unit else NULL end) - avg(case when operacao='E'then l.preco_unit else NULL end) ) as lucro_preco,((avg(case when operacao='V' then l.preco_unit else NULL end) - avg(custo_medio_empresa_f(l.empresa,l.produto,($data_ini::date -1))))*sum(case when operacao='V' then l.quantidade else null end) ) from lancto l join produto p on (p.grid=l.produto) join pessoa e on (e.grid=l.empresa) where tipo='='C" group by p.grupo; se eu não colocar o group by o valor sair incorreto pois ele pega de todos produtos e preciso desse 2 resultado em um comando so não sei se criando uma tabela temp poderia ajuda nesse sentindo pois nunca utilizei esse ferramenta. Não sei se expliquei bem.
×
×
  • Criar Novo...