Como fazer uma copia de uma tabela
Eu preciso duplicar uma tabela, ou seja criar TABELA2 com todos os campos e dados da TABELA1. Como posso fazer isso por comando SQL.
Paulo Cesar
Curtidas 0
Respostas
Rômulo Barros
14/12/2004
Utilizando o TClientDataSet, pode-se clonar uma tabela.
GOSTEI 0
Randall
14/12/2004
se vc estiver usando firebird/interbase use o comando create table
ex.
CREATE TABLE ALUNO (
IDALUNO INTEGER NOT NULL,
NOME VARCHAR(60),
RUA VARCHAR(50),
BAIRRO VARCHAR(30),
CIDADE VARCHAR(30),
CEP VARCHAR(8),
UF VARCHAR(2),
CPF VARCHAR(11),
TELEFONE VARCHAR(25),
MAE VARCHAR(60),
PAI VARCHAR(60),
SITUACAO VARCHAR(2),
PRAZO INTEGER
);
no paradox crio assim (delphi)
FUNCTION CriaBanco (aConta : STRING) : BOOLEAN ;
VAR
NomeTabela : STRING ;
BEGIN
NomeTabela := ´b´+aConta ;
Tabela := TTable.CREATE(FCtaBco) ;
Tabela.DatabaseName := ´MDFinance´;
Tabela.TableName := NomeTabela ;
Tabela.TableType := ttParadox;
WITH Tabela.FieldDefs DO
BEGIN
CLEAR ;
Add(´Sequencial´,FTAutoInc,00,False);
Add(´Comprov´ ,FTString ,12,False);
Add(´NroDocto´ ,FTString ,10,False);
Add(´Data´ ,FTDate ,00,False);
Add(´Docto´ ,FTString ,03,False);
Add(´Debito´ ,FTFloat ,00,False);
Add(´Credito´ ,FTFloat ,00,False);
Add(´Saldo´ ,FTFloat ,00,False);
END ;
Tabela.CreateTable;
ShowMessage(´O Arquivo Foi Criado com Sucesso´);
END;
ex.
CREATE TABLE ALUNO (
IDALUNO INTEGER NOT NULL,
NOME VARCHAR(60),
RUA VARCHAR(50),
BAIRRO VARCHAR(30),
CIDADE VARCHAR(30),
CEP VARCHAR(8),
UF VARCHAR(2),
CPF VARCHAR(11),
TELEFONE VARCHAR(25),
MAE VARCHAR(60),
PAI VARCHAR(60),
SITUACAO VARCHAR(2),
PRAZO INTEGER
);
no paradox crio assim (delphi)
FUNCTION CriaBanco (aConta : STRING) : BOOLEAN ;
VAR
NomeTabela : STRING ;
BEGIN
NomeTabela := ´b´+aConta ;
Tabela := TTable.CREATE(FCtaBco) ;
Tabela.DatabaseName := ´MDFinance´;
Tabela.TableName := NomeTabela ;
Tabela.TableType := ttParadox;
WITH Tabela.FieldDefs DO
BEGIN
CLEAR ;
Add(´Sequencial´,FTAutoInc,00,False);
Add(´Comprov´ ,FTString ,12,False);
Add(´NroDocto´ ,FTString ,10,False);
Add(´Data´ ,FTDate ,00,False);
Add(´Docto´ ,FTString ,03,False);
Add(´Debito´ ,FTFloat ,00,False);
Add(´Credito´ ,FTFloat ,00,False);
Add(´Saldo´ ,FTFloat ,00,False);
END ;
Tabela.CreateTable;
ShowMessage(´O Arquivo Foi Criado com Sucesso´);
END;
GOSTEI 0
Paulo Cesar
14/12/2004
Bem pessoal na verdade o problema maior seria fazer o clone da TABELA1 para a TABELA2, pois para copiar os dados eu posso fazer da seguinte forma:
INSERT INTO TABELA1 VALUES(SELECT * TABELA2)
INSERT INTO TABELA1 VALUES(SELECT * TABELA2)
GOSTEI 0
Paulo Cesar
14/12/2004
[quote:497499fd58=´Paulo Cesar´]Bem pessoal na verdade o problema maior seria fazer o clone da TABELA1 para a TABELA2, pois para copiar os dados eu posso fazer da seguinte forma:
INSERT INTO TABELA2 VALUES(SELECT * TABELA1)[/quote:497499fd58]
INSERT INTO TABELA2 VALUES(SELECT * TABELA1)[/quote:497499fd58]
GOSTEI 0