1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
IBQuery2.Close;
IBQuery2.SQL.Clear;
IBQuery2.SQL.add('SELECT trim(RF.RDB$RELATION_NAME) as table_name, TRIM(RF.RDB$FIELD_NAME) FIELD_NAME FROM RDB$RELATION_FIELDS RF '
+' JOIN RDB$FIELDS F ON (F.RDB$FIELD_NAME = RF.RDB$FIELD_SOURCE) '
+' WHERE (COALESCE(RF.RDB$SYSTEM_FLAG, 0) = 0) and F.RDB$FIELD_TYPE = 10');
IBQuery2.open;
IBQuery2.First;
while not IBQuery2.Eof do
begin
execute_query('alter table '+IBQuery2['table_name']+' add vv DECIMAL(15,3)');
execute_query('update '+IBQuery2['table_name']+' set vv = '+IbQuery2['FIELD_NAME']);
execute_query('alter table '+IBQuery2['table_name']+' drop '+IbQuery2['FIELD_NAME']);
execute_query('alter table '+IBQuery2['table_name']+' alter vv to '+IbQuery2['FIELD_NAME']);
IBQuery2.Next;
end;
IBQuery2.close; |
Partager