Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andréia Freitas

Alterar posição de uma coluna!

Recommended Posts

Boa Tarde, pessoal!Acredito que não. Mas não custa ratificar: tenho uma dúvida se o Oracle 9i tem um comando em SQL (por exemplo: alter table modify column...) que eu possa modifcar a ordem ou posição de uma coluna depois da tabela criada.(?)Obrigada e abraços a todos,Andréia de Freitas dos SantosFINEP Financiadora de Estudos e ProjetosDepartamento de Sistemas - DSIS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para esclarecimento de outros, já que o mesmo foi feito para o Sr. Motta.

Realmente não sei qual é a importância disso, um desenvolvedor pediu para que eu alterasse a ordem das colunas em uma tabela, perguntei “para quê?” a resposta foi de uma pessoa insipiente “porque eu quero que os dados saiam da forma que eu colocarei na aplicação”, eu nos meus parcos conhecimentos retruquei “oracle é RDBMS e não um banco de formatação de colunas e não há necessidade disso”. Mas sou funcionária nova... e fiz. Precisei dropar algumas colunas e criá-las novamente com as suas PKs e Constraints.

Fazendo uma pesquisa, li que MySql tem um comando de alteração de posição de colunas. Como estou no mundo Oracle há uns três meses, pesquisei e não encontrei nada na documentação Oracle, por isso a minha pergunta acima, mas com a ressalva de que eu já acreditava de que não existia tal comando.

Mais uma vez obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha não tem como eu te ajudar muito, mas vamos lá.Tem um comando sim para alterar a posição de colunas.Só que eu não lembro de cabeça, eu sei que isso tem no manual que vem junto com a licença da Oracle.Olhei aqui no serviço, mas não está, deve estar com alguém.Vocês devem ter esse manual também.Também dá para ir na página da oracle e pedir suporte on line.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui achar,

 

Alterando a tabela com comandos SQLTambém é possível alterar uma tabela com comandos SQL. Para isso, use o comando ALTER TABLE. Abaixo será mostrada uma sintaxe simples deste procedimento: Sintaxe: ALTER TABLE [banco_dados.[owner.]]nome_tabela {[ALTER COLUMN nome_coluna   {novo_tipo_de_dados [(precisão[, escala])] | ADD {nome_coluna dados_coluna | [WITH CHECK | WITH NOCHECK]} Onde: banco_dados é o nome do banco de dados a que a tabela pertence. Essa opção é opcional, ela será usada somente quando se estiver posicionado num determinado banco de dados se e deseja excluir a tabela de outro banco de dados. nome_tabela é o nome da tabela que deseja alterar. nome_coluna é a coluna que se quer alterar.novo_tipo_de_dados é o tipo de dados que a coluna aceitará a partir de agora.WITH CHECK | WITH NOCHECK Especificam se os dados na tabela devem ou não ser validados contra uma nova ou reabilitada restrição FOREIGN KEY ou CHECK. Se não especificada, assume-se WITH CHECK para novas restrições e WITH NOCHECK para restrições reabilitadas. Veja mais sobre restrições.Exemplo: ALTER TABLE Cliente ADD ender varchar(50) NULL GOALTER TABLE ClienteALTER COLUMN CIDADE VARCHAR (25)Para renomear uma coluna, usa-se o procedimento sp_rename: sp_rename 'Cliente.ender', Endereco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andreia,

 

Mande o desenvolvedor fazer um curso de ORACLE.

 

Não importa a ordem das colunas... ele quer essas ordens pq o "CABEÇINHA" deve estar fazendo uma DML de UPDATE sem passar as colunas na query, então para funcionar essa query, a VALUES deve ser igual a sequência das colunas na tabela, senão dá erro.

 

Então mande ele repesquisar para funcionar ou passar a ordem que está criada.

 

Caso ele esteja usando um INSERT tb dará erros se não seguir a ordem certinha da tabela.

 

SÓ POR ISSO! Se você for a DBA da Base, mande ele mudar os comandos ou recrie a tabela conforme a sequência que ele passar.

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/devil.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.