sql

Exercícios de SQL

Exercicio 1


Estrutura das tabelas:
Produto ( pnome: string, preco: integer, categoria: string, fabricante: string )
Compra ( comprador: string, vendedor: string, loja: string, produto: string )
Companhia ( cnome: string, valorAcao: integer, pais: string )
Pessoa ( nomePess: string, tel: string, cidade: string )

Consultas aproximadas no PostgreSQL

O PostgreSQL possui um módulo chamado fuzzystrmatch que está no pacote contrib, este módulo possui diversas funções para trabalhar com consultas aproximadas, muito útil quando queremos fazer buscas em palavras com erro de digitação.

Segundo Euler na pgcon 2008 (), esse tipo de consula possui um custo computacional alto..

Problema de paginação usando Offset do postgresql

Utilizando o pager do doctrine observei uma inconsistência nos resultados paginados, e ao pesquisar descobri o seguinte:

o paginator gerava o código:

SELECT ... ORDER BY weight DESC LIMIT 10 OFFSET 10

acontece que o mesmo registro que aparece na página 2 aparecia também na página 5, isso porque o Offset do postgres necessita obrigatóriamente de um order by único para o offset funcionar corretamente.

Meus registros estavam todos com o weight = 0, ou seja, não havia uma ordem única e fazia com que a paginação não funcionasse corretamente.

replace no mysql

Código que de vez em quando eu utilizo:

update table set campo = replace(campo, 'string1', 'string_replace')

ideal para corrigir vários paths em registros de uma vez só, exemplo:

renomei minha instalação do drupal que estava no diretório drupal-5.2 para blog dae utilizei isso:

update system set url = replace(url, 'inuar.com/drupal-5.2/', 'inuar.com/blog/');

Divulgar conteúdo