Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Thay đổi độ chính xác của cột số trong Oracle

Giả sử ban đầu bạn không đặt độ chính xác, thì nó được giả định là tối đa (38). Bạn đang giảm độ chính xác vì bạn đang thay đổi nó từ 38 thành 14.

Cách dễ nhất để xử lý điều này là đổi tên cột, sao chép dữ liệu qua, sau đó bỏ cột ban đầu:

alter table EVAPP_FEES rename column AMOUNT to AMOUNT_OLD;

alter table EVAPP_FEES add AMOUNT NUMBER(14,2);

update EVAPP_FEES set AMOUNT = AMOUNT_OLD;

alter table EVAPP_FEES drop column AMOUNT_OLD;

Nếu bạn thực sự muốn giữ lại thứ tự cột, bạn có thể di chuyển dữ liệu hai lần để thay thế:

alter table EVAPP_FEES add AMOUNT_TEMP NUMBER(14,2);

update EVAPP_FEES set AMOUNT_TEMP = AMOUNT;

update EVAPP_FEES set AMOUNT = null;

alter table EVAPP_FEES modify AMOUNT NUMBER(14,2);

update EVAPP_FEES set AMOUNT = AMOUNT_TEMP;

alter table EVAPP_FEES drop column AMOUNT_TEMP;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oracle SQL cách xóa thời gian khỏi ngày tháng

  2. Sử dụng hàm Max () để chọn giá trị nhóm

  3. (+) Làm gì trong Oracle SQL?

  4. khoảng thời gian định dạng với to_char

  5. Mười lý do hàng đầu để chuyển từ Oracle sang PostgreSQL