[firebase-br] Migrando de Interbase 6 para FireBird 1.5

Fortes Marcelo marcelosoftware em yahoo.com.br
Ter Jan 4 19:58:44 -03 2005


> Amigos, me desculpem pelo meu desconhecimento.  Sou
> iniciante no assunto.
> Começou os estudos ne Delphi 7  e interbase ano
> passado.  Estou lendo,
> lendo.
> Já estou ficando confuso sobre Interbase e Firebird.

Não tem por que, ficar confuso com  Interbase e
Firebird, mas vamos às suas dúvidas...

>  O livro que estou
> estudando se vale do Interbase.

Se o Livro que vc está estudando se vale do InterBase,
até a versão 6.x O Firebird é compatível com InterBase

Vamos ver: Se o livro que vc está usando e o SGBD é o
InterBase 6.x tudo que você aprendeu é válido para o
Firebird até esta versão 1.5.x para ficar atento às 
modificações leia o release notes em PDF do firebird
que vc instalou em sua máquina.

Talvez as diferenças mais notáveis sejam que o
Firebird
adiciona esta coisas que no InterBase até agor a não
tem:

RECREATE PROCEDURE
um novo comando DDL RECREATE PROCEDURE que cria uma
nova procedure com o mesmo nome da já exitente
refazendo a antiga procedure sem precisar dar um drop
na antiga primeiro

RECREATE TABLE
A mesma descrição da de cima só que valendo agora para
as tabelas fique ligado que RECREATE TABLE não
preserva ps dados da tabela antiga.

Outra mudança é  SELECT com [FIRST/SKIP] onde a
sintaxe mais precisa é:

SELECT [FIRST (<integer expr m>)] [SKIP (<integer expr
n>)]

dessa forma vc pode recuperar as n linhas de uma
tabelas ascendentes ou descendentes, podendo pular x
linhas ou por expressão. 

É muito prático se vc quer ter o último registro da
tabela assim desta forma:

SELECT FIRST 1 nome_tabela ORDER BY nome_campo 
ORDER BY nome_campo DESC;

OU

SELECT FIRST 10 DISTINCT CAMPOS FROM TABELA;

Observe que isso vale para retornar o primeiro
registro simplesmente omitindo a cáusula DESC
"Descending".

No INTERBASE não há o Select First Usa-se a clausula
ROWS  que por sua vez podem usar expressões e outras
cláusuals como TO, TIED, PERCENT etc...   eles
implementam de forma um pouco diferente um exemplo
simples é assim:

SELECT PK_COD, CAMPO1, CAMPO2, CAMPO3 FROM nome_tabela
ORDER BY PK_COD DESC ROWS 1 TO 2 ;

Vai retornar o último registro da tabela note que no
exemplo acima possui só dois registros.

Uma coisa legal no InterBase é que, apartir da versão
6.5 deu-se adeus aquela coisa chata de SET TERM ^

Vc não precisa usar mais isso se não quizer, ao cirar
suas procedures, o parser foi modificado para entender
onde é o fim da instrução etc.

Houveram muitas outras coisas boas postas apartir do
InterBase 7.1 e esse novo 7.5 e muitas coisas legais
no release 1.5.2 do Firebird principalmente correções
de erros em ambos bancos o problema maior na minha
humilde opinião pessoal é que o pessoal do firebird
quando corrige um bug as vezes cria outros ou quando
adiciona novas funcionalidades cria outros também...
por isso tantos release candidates para os usuários
irem reportando os erros nos releases mas creio que
isso no fim vai se minimizar com a limpeza do código
fonte que eles tem exercido.

> 
> Se eu seguir o livro, construir meu trabalho baseado
> no interbase, se mais
> tarde eu quiser importar os dados para
> trabalhar com o Firebird, vai ser complicado,
> desaconselhavel?

Não é nem complicado, nem desaconselhável, vc só tem
que tomar um pouco de cuidado, porque, apartir do
InterBase 7.5 e do Firebird 1.5.2 começam a haver
certas incompatibilidades de estrutura interna que o
gbak dos dois pode se perder. Para isso  tem que saber
que versões do InterBase e Firebird vc está usando ou
vai migrar etc.

> 
> Alguem pode me dar uma linha de raciocinio.
> Grato, Muito Grato.

Espero ter ajudado, qualquer coisa entre em contato,
pode ser em privê mesmo.

do amigo 
  Marcelo Fortes
  


	
	
		
_______________________________________________________ 
Yahoo! Acesso Grátis - Instale o discador do Yahoo! agora. http://br.acesso.yahoo.com/ - Internet rápida e grátis




Mais detalhes sobre a lista de discussão lista