Pow essa pergunta eh taum **** assim?Tem algum Mestre em SQL

12/03/2003

0

estamos fazendo um programa de dirvergencias de banco de dados....
para tornar este programa mais eficaz foi criado novas situações que o programa fará automaticamente!

Na verdade o que precisamos eh um comando SQL QUE ALTERA O CAMPO DE UMA TABELA, muito simples de fazer em outros bancos por exemplo POSTGREE e MYSQL, porem esses comandos SQL naum funcionam dentro do ACCESS!!!

um exemplo de como seria em postgree

ALTER TABLE distribuidores RENAME COLUMN endereco TO cidade;[/b]


Anonymous

Anonymous

Responder

Posts

12/03/2003

Anonymous

Pô, sou mestre em SQL sim, pq ?
Mas mexer com Access é outro problema, viu !

Até posso te ajudar mais nõa vou não.


Responder

12/03/2003

Anonymous

Viu vc já tentou procurar no site da Microsoft, já que aqui ninguém respondeu ???

:shock:


Responder

12/03/2003

Anonymous

Duvido que vc eh mestre em SQL e naum pode, alias porque naum sabe responder minha pergunta, POR FAVOR SE VC NAUM SABE RESPONDER NAUM ME INCOMODE SEU INUTIL!


Responder

12/03/2003

Netcrusher

Caro Felipe, pode ser que o próprio banco de dados Access não aceite isso(por ser M$ hhehehe), mas dê uma olhadinha no help.
Está aqui um exemplo de como criar campos.. mas maybe não seja isso que vc esteja procurando, mas por favor, não leve a mal, pois só estou tentando te ajudar.

procedure TForm1.btnTabelasClick(Sender: TObject);
var
base, comando: string;
begin
{ definindo a base de dados }
base := ´Provider=Microsoft.Jet.OLEDB.4.0´ +
´;Data Source=´ + edtPath.Text +
´;Persist Security Info=False´;
ADOConnection1.ConnectionString := base;
{ Criando as tabelas... }
{>>> PROPRIETARIO <<<}
comando := ´CREATE TABLE PROPRIETARIO (´ +
´PRO_ID INT,´ +
´PRO_NOME TEXT(50))´;
ADOCommand1.CommandText := comando;
ADOCommand1.Execute;
{ ADICIONANDO INDICES }
comando := ´CREATE INDEX IDX_PRO_ID ´ +
´ON PROPRIETARIO (PRO_ID) WITH PRIMARY´;
ADOCommand1.CommandText := comando;
ADOCommand1.Execute;
{>>> ANIMAL <<<}
comando := ´CREATE TABLE ANIMAL (´ +
´ANI_ID INT,´ +
´ANI_PROPRIETARIO INT ´ +
´CONSTRAINT IDX_PRO_ID ´ +
´REFERENCES PROPRIETARIO (PRO_ID),´ +
´ANI_NOME TEXT (50),´ +
´ANI_NASCIMENTO DATETIME)´;
ADOCommand1.CommandText := comando;
ADOCommand1.Execute;
end;


talvez com isso vc possa achar uma solution

Atenciosamente, NetCrusher


Responder

12/03/2003

Anonymous

Pow valew a tentativa cara ...
mais naum eh isso que eu quero ainda!

quero apenas um comandinho SQL que me altere o campo da tabela...
naum acredito que um simples comando desse, taum comum em outras dbs naum exite nu maldito ACCESS! :x


Responder

12/03/2003

Anonymous

$egundo meu$ Neuronio$, o Acce$$ não permite i$$o, ou permite $e vc pagar uma licen$a ($E$E$E$E$E$E)



T+


Responder

12/03/2003

Jeancamila

se for o que estou pensando, tente isso.

SELECT clientes.Cliente AS nomedocampoquevcquiser
FROM clientes

espero que tenha ajudado.


Responder

12/03/2003

Anonymous

valeu pela forca mais nao é isso que tamos procurando rafael e eu mais valeu :lol: .


Responder

12/03/2003

Jeancamila

vou pesquisar caso não ache aresposta ate sabado, me mande um email que saio de casa às 7:00 e só volto as 23:30, sou professor no SENAC BH e no final de semana olharei com mais calma. Agora estou dando aula e ao mesmo tempo olhando o forum.

jean.morais@terra.com.br


Responder

12/03/2003

Anonymous

vou pesquisar caso não ache aresposta ate sabado, me mande um email que saio de casa às 7:00 e só volto as 23:30, sou professor no SENAC BH e no final de semana olharei com mais calma. Agora estou dando aula e ao mesmo tempo olhando o forum. jean.morais@terra.com.br



Estamos Anciosos que vc encontre uma solucao muito grato Jorge e Rafael


Responder

12/03/2003

Carnette

[quote:aec02953f2=´Rafael Felipe´]estamos fazendo um programa de dirvergencias de banco de dados....
para tornar este programa mais eficaz foi criado novas situações que o programa fará automaticamente!

Na verdade o que precisamos eh um comando SQL QUE ALTERA O CAMPO DE UMA TABELA, muito simples de fazer em outros bancos por exemplo POSTGREE e MYSQL, porem esses comandos SQL naum funcionam dentro do ACCESS!!!

um exemplo de como seria em postgree

ALTER TABLE distribuidores RENAME COLUMN endereco TO cidade;[/b][/quote:aec02953f2]
Instrução ALTER TABLE
Modifica a estrutura de uma tabela depois de ter sido criada com a instrução CREATE TABLE.


--------------------------------------------------------------------------------

Observação O motor de banco de dados Microsoft Jet não oferece suporte ao uso de ALTER TABLE ou de qualquer uma das instruções Data Definition Language (DDL, linguagem de definição de dados), com bancos de dados que não sejam o Microsoft Jet. Em seu lugar, use os métodos DAO Create.


--------------------------------------------------------------------------------

Sintaxe
ALTER TABLE tabela {ADD {COLUMN campo tipo[(tamanho)] [NOT NULL] [CONSTRAINT índice] |
ALTER COLUMN campo tipo[(tamanho)] |
CONSTRAINT índicecampomúlt} |
DROP {COLUMN campo I CONSTRAINT nomeíndice} }

A instrução ALTER TABLE tem estas partes:

Parte Descrição
tabela O nome da tabela a ser alterada.
campo O nome do campo a ser adicionado ou excluído de tabela. Ou o nome do campo a ser alterado em tabela.
tipo O tipo de dados de campo.
tamanho O tamanho do campo em caracteres (somente os campos Text e Binary).
índice O índice para campo. Para obter mais informações sobre como construir este índice, consulte Cláusula CONSTRAINT.
Índicecampomúlt A definição de um índice de campos múltiplos a ser adicionado em tabela. Para obter mais informações sobre como construir este índice, consulte Cláusula CONSTRAINT.
Nomeíndice O nome do índice de campos múltiplos a ser removido.


Comentários
Usando a instrução ALTER TABLE, você pode alterar uma tabela existente de diversas maneiras. Você pode:

Usar ADD COLUMN para adicionar um novo campo à tabela. Você especifica o nome do campo, tipo de dados e (para os campos Text e Binary) um tamanho opcional. Por exemplo, a instrução a seguir adiciona um campo Text de 25 caracteres chamado Observações à tabela Funcionários:
ALTER TABLE Funcionários ADD COLUMN Observações TEXT(25)


Você também pode definir um índice naquele campo. Para obter mais informações sobre índices de campo único, consulte Cláusula CONSTRAINT.

Se você especificar NOT NULL para um campo, então os novos registros deverão ter dados válidos naquele campo.

Usar ALTER COLUMN para alterar o tipo de dados de um campo existente. Você especifica o nome do campo, o novo tipo de dados e um tamanho opcional para os campos Text e Binary. Por exemplo, a instrução a seguir altera o tipo de dados de um campo na tabela Funcionários chamado Cep (originalmente definido como Integer) para um campo Text de 10 caracteres:
ALTER TABLE Funcionários ALTER COLUMN Cep TEXT(10)


Usar ADD CONSTRAINT para adicionar um índice de campos múltiplos. Para obter mais informações sobre índices de campos múltiplos, consulte Cláusula CONSTRAINT.
Usar DROP COLUMN para excluir um campo. Você especifica somente o nome do campo.
Usar DROP CONSTRAINT para excluir um índice de campos múltiplos. Você especifica somente o nome do índice após a palavra reservada CONSTRAINT.
--------------------------------------------------------------------------------

Observações

Você não pode adicionar ou excluir mais de um campo ou índice de cada vez.
Você pode usar a instrução CREATE INDEX para adicionar um índice de campo único ou campos múltiplos e pode usar ALTER TABLE ou a instrução DROP para excluir um índice criado com ALTER TABLE ou CREATE INDEX.
Você pode usar NOT NULL em um campo único ou dentro de uma cláusula CONSTRAINT nomeada que se aplica a uma CONSTRAINT nomeada de campo único ou de campos múltiplos. Contudo, você pode aplicar a restrição NOT NULL a um campo somente uma vez. Tentar aplicar esta restrição mais de uma vez resultará em um erro em tempo de execução.


Responder

12/03/2003

Anonymous

Jah conheco esta sintexe

[b:2d3d679e7a]ALTER TABLE tabela {ADD {COLUMN campo tipo[(tamanho)] [NOT NULL] [CONSTRAINT índice] |
ALTER COLUMN campo tipo[(tamanho)] | [/b:2d3d679e7a]

E Infelismente ela apenas adiciona novos campos mais naum altera o proprio campo. Ou intaum ela altera o tipo do campo!

Valew a intencaum!


Responder

12/03/2003

Thematrix:reloaded

Dentro do SQL Ansi (Conjunte de comandos SQL comuns a todas os Bancos de Dados [ou ´semi-banco-de-dados´ como o Access]),
não é possível vc alterar um campo, seja tamanho, nome, etc.
Para isso vc precisa criar um campo temporario, jogar os dados do campo a ser alterado para este campo temporario, apagar o campo desejado, criar um novo campo com as novas características, copiar os dados do campo temporario e finalmente apagá-lo.

Não existe fórmula mágica. :?

Vc tem que botar a mão na massa, Ok?

Por exemplo:

Alter table TABELA add CAMPOTEMP varchar(10);
Update TABELA set CAMPOTEMP = OLDCAMPO;
Alter table TABELA drop OLDCAMPO, add OLDCAMPO varchar(15);
Update TABELA set OLDCAMPO = CAMPOTEMP;
Alter table TABELA drop CAMPOTEMP;

Valeu....????


Responder

13/03/2003

Anonymous

não é possível vc alterar um campo, seja tamanho, nome, etc.


vc diz que nao daria para mudar o tipo do campo mais isso eu consigo se isso da pq nao daria para mudar o nome do campo?


Responder

13/03/2003

Anonymous

:shock: :shock: :shock: :shock: :shock: :shock:

Pense num cara paranoico


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar