banco de dados sql
Quase todas estas dicas abaixo recebi na lista de PostgreSQL do http://postgresql.org.br. Sempre que lembrei concedi os devidos créditos.
1) Criar Tabela tendo outra outra como base e já importando todos os registros dessa outra:
CREATE TABLE tabelanova AS SELECT * FROM tabealexistente;
2) Inserindo com SELECT
Inserir todos os registros de uma tabela em outra:
INSERT INTO tabelaqueimporta SELECT * from tabelaqueexporta; insert into engenharia.insumos (grupo,insumo,descricao,unidade) select grupo,insumo,descricao, CAST(unidade AS int2) AS “unidade” from engenharia.apagar insert into engenharia.insumos (grupo,insumo,descricao,unidade) select grupo,insumo,descricao, cast(unidade AS INT2) AS unidade from engenharia.apagar
$conn = pg_connect(“host=10.40.100.186 dbname=apoena user=_postgresql”); for($x=10;$x 14) Uso da Constraint check
CREATE TABLE testes( codigo serial primary key, idade integer, check (idade > 18 AND idade < 70)
)
Alternativas: check (preco > desconto) check (desconto > 0 AND preco > desconto)
————-
Somente aceitar c ou e (simulando campo tipo enum do MySQL): tipo char(1) check (tipo =’c’ OR tipo=’e’)
Para este cria-se uma combo com values ‘c’ e ‘e’.
15) Manutenção do PostgreSQL:
No CRON:
/home/pgsql/bin/psql -c “vacuum full analyse” -d dadosadv -U postgres
Consultas no Pronpt do SO: psql -U postgres -d banco -c “SELECT * FROM clientes”
Manutenção em Tabela vacuum analize tabela;
Reindexar Banco, tabela ou índice reindex database banco;
Exibir plano de consulta explain select * from tabela;
Exibir todos os parâmetros de runtime show all;
16) Consulta com Dias Úteis
Só para constar aqui vai uma expressão SQL que fornece os dias úteis de um período. Considerei que existe uma tabela com o registro dos feriados e outros dias que não devem ser considerados (emendas, pontos facultativos, etc):
SELECT dia FROM
(SELECT (‘2007-10-01′::date+s.a*’1 day'::interval) AS dia
FROM generate_series(0,