Usuário com melhor resposta
Configurar Padrão de Informação de uma Coluna

Pergunta
-
Eu utilizo Firebird e agora aprendendo Firebird..
Tenho um recurso no Firebird onde Crio um Tipo de Informação Padrão DOMAIN
Ex. Vamos dizer que quero criar um campo de valor do tipo Decimal(10,2), então crio la um Domain com o nome de Valor Decimal(10,2)
Quando crio as tabelas com campo Valor coloco que vai utilizar o DOMAIN Valor e faço isso em todas as minhas tabelas
Caso aconteça eu ter que alterar o configuração do Campo valor no Banco de Dados todo.. Altero o DOMAIN Valor para Decimal(10,4) e ele altera todas as Colunas que utilizam esse Domain, muito mais pratico para fazer esse tipo de manutençao
Tem algo assim no MSSQL ??
Espero ter conseguido explicar a situação...
- Editado Gustavo Moreira de Castilho terça-feira, 20 de outubro de 2015 13:23
Respostas
-
Gustavo,
Você pode executar, por exemplo, um
create type meuTipo from varchar(11) not null
Porém, a manutenção dele é bem diferente do Firebird, pois não existe um ALTER TYPE... você precisa fazer um DROP e recriar com o tipo desejado.
Mais um porém: se você já está usando ele em alguma tabela, antes do DROP você precisa mudar as colunas que fazem uso do tipo criado para o seu tipo base (varchar(11), no caso), fazer o drop, recriar o type fazer alter das colunas para tipo novamente.
A tua lógica faz todo o sentido... E eu não conheço o Firebird, mas me pergunto como ele gerencia a questão do tipo ser um varchar e você resolver mudar int... O que deve ocorrer com as colunas que possuem caracteres alfa-numéricos. :-)
Espero ter ajudado.
[]'s!
/* Logan Destefani Merazzi - DBA | @LoganMerazzi | http://www.merazzi.eti.br
Se a resposta for útil, vote nela. Se resolveu, marque-a como resposta. */- Marcado como Resposta Gustavo Moreira de Castilho terça-feira, 20 de outubro de 2015 14:01
Todas as Respostas
-
Gustavo,
Você pode executar, por exemplo, um
create type meuTipo from varchar(11) not null
Porém, a manutenção dele é bem diferente do Firebird, pois não existe um ALTER TYPE... você precisa fazer um DROP e recriar com o tipo desejado.
Mais um porém: se você já está usando ele em alguma tabela, antes do DROP você precisa mudar as colunas que fazem uso do tipo criado para o seu tipo base (varchar(11), no caso), fazer o drop, recriar o type fazer alter das colunas para tipo novamente.
A tua lógica faz todo o sentido... E eu não conheço o Firebird, mas me pergunto como ele gerencia a questão do tipo ser um varchar e você resolver mudar int... O que deve ocorrer com as colunas que possuem caracteres alfa-numéricos. :-)
Espero ter ajudado.
[]'s!
/* Logan Destefani Merazzi - DBA | @LoganMerazzi | http://www.merazzi.eti.br
Se a resposta for útil, vote nela. Se resolveu, marque-a como resposta. */- Marcado como Resposta Gustavo Moreira de Castilho terça-feira, 20 de outubro de 2015 14:01
-
Ola Logan
Vou testar o que você me explicou, obrigado por enquanto
E respondendo sua pergunta você esta certo.. eu nunca mudaria INT para VARCHAR rsrsrs seria para mudanças do mesmo tipo como aconteceu uma vez comigo... exemplo... Nome da Mercadoria era varchar(60) e alterarei para varchar(80) assim funciona perfeitamente... so tive problemas com algumas views onde tive que recria-las.. dava uns probleminhas "estranhos" rsrsr mais sempre uso para alterações de mesmo tipo de campo.. e é bom para padronizar..