On Mon, 29 Oct 2012 13:32:16 -0200, "Carlos H. Cantu" <lis...@warmboot.com.br> wrote: > I need to change the scale of numeric domain from (15,4) to (15,8). > > I cannot use the ALTER command, since FB doesn't allow such change. > BUT I'm 100% sure that all the existing data would perfectly fit in > (15,8) so, the question is: In this case, is it safe to make the > change direct in the system table? > > update RDB$FIELDS set > RDB$FIELD_SCALE = -8 > where RDB$FIELD_NAME = 'RDB$nnnn';
No, a direct system table update like that would rescale all your existing numbers. Eg from (15,4) to (15,8) a value 54321.1234 would become 5.43211234 Firebird stores NUMERIC (and DECIMAL) as an INT (or BIGINT or SMALLINT) and the scale is used to decide the position of the decimal. Mark