Artigos com o marcador Banco de Dados

Dicas SQL – Resetando um campo auto incremento de um BD

0

Para resetar um campo auto incremento de um banco  basta utilizar o comando abaixo:

MySQL:

ALTER TABLE tabela AUTO_INCREMENT = 0

SQL Server:

DBCC CHECKIDENT(‘tabela’, RESEED, 0) ;

Paradox 7 (Não testado em outras versões):

function ResetAutoInc(FileName: TFileName; NewValue:Longint): Boolean;
begin
with TFileStream.Create(NomeDoArquivo, fmOpenReadWrite) do
try
Result := (Seek($49, soFromBeginning) = $49) and (Write(NovoValor, 4) = 4);
finally
Free;
end;
end;

Quem souber em mais Bd’s é só comentar aqui que adiciono e dou os devidos créditos.

Dicas SQL – Selecionar linha aleatória

0

Há algum tempo apareceu uma necessidade de adquirir uma linha de uma tabela de forma aleatória, então temos as seguintes instruções.

MySQL

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PostgreSQL

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Microsoft SQL Serve:

SELECT TOP 1 column FROM table
ORDER BY NEWID()

IBM DB2

SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

Oracle

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

Fonte:
http://www.petefreitag.com/item/466.cfm

Dicas SQL – Limitando registros de uma consulta no BD

4

Começando com algumas dicas simples de MySQL:

Para mostrar o último registro de uma tabela podemos utilizar o seguinte comando:

select * from tabela order by id desc limit 1
O “desc” determina que os registros serão exibidos de forma decrescente.

Para exibir os 5 últimos registros de sua tabela:

select * from tabela order by id desc limit 5
Ou seja, o número após o “limit” é o que determina quantos registros serão exibidos.

Agora para mostrar apenas o penúltimo registro:

select * from tabela order by id desc limit 1,1

Sobre o comando acima, o primeiro número determina quantos registros serão “pulados”, e o segundo representa quantos registros serão mostrados.

Portanto, se quisermos mostrar o penúltimo e o antepenúltimo registro podemos utilizar o seguinte comando:

select * from tabela order by id desc limit 1,2

A partir daí dá pra conseguir muitos resultados específicos de uma tabela, lembrando que o campo id é um inteiro com auto incremento.

Até a próxima!!!

Go to Top
7 visitantes online agora
1 visitantes, 6 bots, 0 membros
Máx. de visitantes hoje: 12 às 11:00 pm GMT+3
Este mês: 17 às 02-01-2012 10:57 am GMT+3
Este ano: 30 às 01-15-2012 05:27 pm GMT+3
No total: 263 às 11-11-2009 02:50 pm GMT+3