Mudar vários campos de uma vez no firebird 2.5

Delphi

Modelagem

Firebird

05/10/2016

Boa noite,

Tenho uma tabela com os seguintes campos
FRETE DECIMAL(12,2),
VALOR_COMPRA1 DECIMAL(12,3),
CUSTO_TOTAL1 DECIMAL(12,3),
PRECO_TABELA1 DECIMAL(12,3),
PRECO_MINIMO1 DECIMAL(12,3),
PRECO_MAXIMO1 DECIMAL(12,3),
CUSTO_TOTAL2 DECIMAL(12,3),
PRECO_TABELA2 DECIMAL(12,3),
PESO1 DECIMAL(12,3),
PESO2 DECIMAL(12,3),
PRECO_MINIMO2 DECIMAL(12,3),
PRECO_MAXIMO2 DECIMAL(12,3),
QTDE_EMBALAGEM DECIMAL(12,3),
QTDE_MAXIMA DECIMAL(12,3),
QTDE_MINIMA DECIMAL(12,3),

Gostaria de saber se existe algum comando que mude o tamanho do decimal via sql um alter table por tipo de campo,
seria algo do tipo alter table tbproduto set decimal (18,6) where decimal (12,3) e o resultado seria

FRETE DECIMAL(18,2),
VALOR_COMPRA1 DECIMAL(18,6),
CUSTO_TOTAL1 DECIMAL(18,6),
PRECO_TABELA1 DECIMAL(18,6),
PRECO_MINIMO1 DECIMAL(18,6),
PRECO_MAXIMO1 DECIMAL(18,6),
CUSTO_TOTAL2 DECIMAL(18,6),
PRECO_TABELA2 DECIMAL(18,6),
PESO1 DECIMAL(18,6),
PESO2 DECIMAL(18,6),
PRECO_MINIMO2 DECIMAL(18,6),
PRECO_MAXIMO2 DECIMAL(18,6),
QTDE_EMBALAGEM DECIMAL(18,6),
QTDE_MAXIMA DECIMAL(18,6),
QTDE_MINIMA DECIMAL(18,6),
Ederson Rodrigues

Ederson Rodrigues

Curtidas 0

Respostas

Eduardo Silva.

Eduardo Silva.

05/10/2016

Essa dica é preciosa:

-- Alterar Tamanho de Campo Genericamente
UPDATE RDB$FIELDS
SET RDB$FIELD_TYPE = 16,
RDB$FIELD_SCALE = -6,
RDB$FIELD_PRECISION = 18
WHERE rdb$field_name IN (SELECT
f.rdb$field_source
FROM rdb$relation_fields f
WHERE f.RDB$RELATION_NAME IN (SELECT
f.RDB$RELATION_NAME
FROM rdb$relation_fields f
WHERE f.RDB$RELATION_NAME = ''SUA_TABELA''))


sds

Eduardo Belo
e-mail: beloelogica@gmail.com
GOSTEI 0
POSTAR