Criar tabela dinamicamente com IBX

Delphi

10/08/2009

Olá pessoa preciso criar a tabela abaixo dinâmicamente usando Delphi7+IBX+Firebird1.5.

Como poderia fazer isso?

SQL:
CREATE TABLE "DEPENDENTE" 
(
  "IDENTIFICADOR" VARCHAR(32) CHARACTER SET WIN1252 NOT NULL COLLATE PXW_INTL850,
  "ID_PESSOA" INTEGER NOT NULL,
  "DATA" DATE,
  "NOME" VARCHAR(100) CHARACTER SET WIN1252 COLLATE PXW_INTL850,
  "GRAU" VARCHAR(32) CHARACTER SET WIN1252 NOT NULL COLLATE PXW_INTL850,
 PRIMARY KEY ("IDENTIFICADOR")
);
ALTER TABLE "DEPENDENTE" ADD FOREIGN KEY ("ID_PESSOA") REFERENCES "PESSOAFISICA" ("IDENTIFICADOR") ON UPDATE CASCADE ON DELETE CASCADE;


Penso que deve ser algo do tipo:
  procedure SQL_Cria_Campos;
  var
    Transacao : TIBTransaction;
    qry       : TIBQuery;
  begin
    qry       := TIBQuery.Create(nil);
    Transacao := TIBTransaction.Create(nil);
    try
      qry.Transaction                  := Transacao;
      qry.Database                     := DM.BancoDados;
      DM.BancoDados.DefaultTransaction := Transacao;
      with qry do
      begin
       Transacao.StartTransaction;
       try
        Close;
        SQL.Clear;
        SQL.Add(´CREATE TABLE DEPENDENTE.... );
        EXECSQL;
        Transacao.CommitRetaining;
       except
        Transacao.RollbackRetaining;
       end;
    end;
    finally
      qry.Free;
      Transacao.Free;
    end;
  end;


Estou no caminho?
O que estou fazendo de errado?


Carlosib

Carlosib

Curtidas 0
POSTAR