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

Cách thay đổi bảng thêm oracle cột

Cách thay đổi bảng thêm cột trong Cơ sở dữ liệu oracle

  • Bạn Thêm một cột mới bằng cách sử dụng ALTER TABLE ADD COLUMN tuyên bố trong Oracle
  • Bảng phải được chứa trong lược đồ của bạn Để thay đổi một bảng hoặc bạn phải có đặc quyền đối tượng ALTER cho bảng hoặc đặc quyền hệ thống ALTER BẤT KỲ BẢNG.
  • Nếu một dạng xem, dạng xem cụ thể hóa, bộ kích hoạt, chỉ mục dựa trên hàm, kiểm tra ràng buộc, hàm, thủ tục của gói phụ thuộc vào bảng cơ sở, thì việc thay đổi bảng cơ sở hoặc các cột của nó có thể ảnh hưởng đến đối tượng phụ thuộc. Ví dụ:các đối tượng PLSQL trở thành không hợp lệ nếu đối tượng bảng phụ thuộc bị thay đổi và bạn phải làm cho chúng hợp lệ trở lại

Chúng ta có thể thêm cột mới vào định nghĩa bảng Sử dụng lệnh thêm bảng thay đổi

ALTER TABLE tech_master ADD (name  varchar2(9));
Table Altered
  • Trước 11g, nếu một cột mới được thêm vào bảng, thì ban đầu cột đó là NULL trừ khi bạn chỉ định mệnh đề DEFAULT. . Khi bạn chỉ định một giá trị mặc định, cơ sở dữ liệu ngay lập tức cập nhật từng hàng với giá trị mặc định. Lưu ý rằng điều này có thể mất một chút thời gian và trong quá trình cập nhật, có một khóa DML độc quyền trên bảng.
  • Đối với một số loại bảng (ví dụ:bảng không có cột LOB), nếu bạn chỉ định cả ràng buộc NOT NULL và giá trị mặc định, thì cơ sở dữ liệu có thể tối ưu hóa thao tác thêm cột và giảm đáng kể lượng thời gian của bảng bị khóa đối với DML. Tương tự là trường hợp bổ sung cột không rỗng với giá trị mặc định
  • Oracle đã giới thiệu tính năng thêm cột nhanh trong 11g, Vì vậy, khi chúng tôi thêm cột không null với giá trị mặc định hoặc cột null với giá trị mặc định, oracle thêm cột ngay lập tức và không cập nhật từng hàng với giá trị mặc định. S
  • o không phải chịu bất kỳ hình phạt nào đối với việc tạo lại và hoàn tác. Khi người dùng chọn cột cho bản ghi hiện có, Oracle sẽ lấy thông tin về giá trị mặc định từ từ điển dữ liệu và trả lại cho người dùng.

Bạn không thể chỉ định vị trí cột sẽ xuất hiện. Cột mới được thêm vào trở thành cột cuối cùng

Tương tự, chúng tôi có thể thêm nhiều cột vào bảng

ALTER TABLE table_name
ADD (col1 column datatype [default  expr],
col2 column datatype [default  expr],
...
coln column datatype [default  expr]);

Example
ALTER TABLE customer_master
ADD (location_name varchar2(100),
last_login date);

Quy ước đặt tên cột giống như trong trường hợp câu lệnh Tạo bảng

  • Tên bạn chọn cho một cột phải tuân theo các quy tắc tiêu chuẩn sau:
  • Tên phải bắt đầu bằng chữ cái A-Z hoặc a-z
  • nó có thể chứa số và dấu gạch dưới
  • Có thể là UPPER hoặc viết thường
  • Có thể dài tối đa 30 ký tự
  • Không thể sử dụng cùng tên của một đối tượng hiện có khác trong giản đồ của bạn
  • Không được là máy chủ Oracle và từ dành riêng cho SQL

Các kiểu dữ liệu lại giống như câu lệnh tạo bảng

Character -CHAR, NCHAR, VARCHAR2 &NVARCHAR2.
- Kiểu dữ liệu CHAR là một chuỗi chữ và số có độ dài cố định có độ dài tối đa tính bằng byte.
-Khi tạo kiểu dữ liệu CHAR, cơ sở dữ liệu sẽ bảo toàn không gian cho dữ liệu đến và nếu dữ liệu ngắn hơn kích thước tối đa, nó sẽ được đệm khoảng trắng ở bên phải
-Kiểu dữ liệu VARCHAR2 là một biến -độ dài chuỗi chữ và số, có độ dài tối đa tính bằng byte. Nó có thể lưu trữ lên đến 4000 byte.
Số -NUMBER
-Kiểu dữ liệu NUMBER lưu trữ số với độ chính xác và tỷ lệ.
-Kiểu dữ liệu số lưu trữ số nguyên âm và số nguyên dương, số dấu phẩy động và số dấu phẩy động
- Khi một cột được xác định là NUMBER (6, 2), phạm vi giá trị có thể được lưu trữ từ –9999,99 đến 9999,99. Oracle làm tròn các số dấu phẩy động.
Ngày và giờ –DATE, TIMESTAMP (với múi giờ hoặc múi giờ địa phương), INTERVAL NĂM ĐẾN THÁNG &INTERVAL DAY ĐẾN THỨ HAI.
-Kiểu dữ liệu DATE được sử dụng để lưu trữ thông tin ngày và giờ.
-Kiểu dữ liệu này có một số chức năng cụ thể để thao tác, định dạng và xem dữ liệu của nó.
- Loại dữ liệu DATE có dung lượng lưu trữ 7 byte và có thông tin về thế kỷ, năm, tháng, ngày, giờ, phút và giây.
- Tham số NLS_DATE_FORMAT có thể được thay đổi để kiểm soát việc xem dữ liệu. Hàm SYSDATE trả về ngày hiện tại
Đối tượng lớn -BLOB (đối tượng lớn nhị phân) , CLOB (đối tượng lớn ký tự) , NCLOB &BFILE
-Các cột của các kiểu dữ liệu này có thể lưu trữ dữ liệu phi cấu trúc bao gồm văn bản, hình ảnh, video và dữ liệu không gian. -Kiểu dữ liệu CLOB có thể lưu trữ lên đến tám terabyte dữ liệu ký tự bằng cách sử dụng bộ ký tự cơ sở dữ liệu CHAR.
-Kiểu dữ liệu BLOB được sử dụng để lưu trữ các đối tượng lớn nhị phân không có cấu trúc, chẳng hạn như các đối tượng được liên kết với dữ liệu hình ảnh và video trong đó dữ liệu chỉ đơn giản là một dòng giá trị “bit”.
-Giá trị kiểu dữ liệu BFILE hoạt động như một bộ định vị tệp hoặc con trỏ đến tệp trên hệ thống tệp của máy chủ. Kích thước tệp tối đa được hỗ trợ là 8TB đến 128TB.
Long Dữ liệu ký tự có độ dài thay đổi lên đến 2 G
rowid Hệ thống số cơ sở 64 đại diện cho địa chỉ duy nhất của hàng trong bảng

Ví dụ

Trước khi thêm cột

Desc emp

Thêm cột thay thế bảng

alter table emp add(ext varchar2(10));

Sau khi thêm cột

Desc emp

Hiện đang thả cột đó xuống

alter table emp drop column ext;

Hy vọng bạn thích bài viết về Cách thay đổi cột thêm bảng trong oracle

Các bài viết có liên quan
cú pháp tạo bảng của oracle
Alter Table trong Oracle
thay đổi bảng di chuyển
Câu lệnh ORACLE DROP TABLE
kiểm tra kích thước bảng oracle
hoặc-20005:thống kê đối tượng là bị khóa


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MyBatis RowBounds không giới hạn kết quả truy vấn

  2. ORA-00904:số nhận dạng không hợp lệ

  3. lỗi cú pháp khi khai báo biến trong thủ tục pl / sql

  4. Hàm TRANSLATE () trong Oracle

  5. Tự động gia tăng trong oracle vào bảng đã được tạo