Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

5.5. Sửa đổi kèo bóng đá pháp

Khi bạn tạo kèo bóng đá pháp và bạn nhận ra rằng bạn đã phạm sai lầm hoặc các yêu cầu của thay đổi ứng dụng, bạn có thể bỏ kèo bóng đá pháp và tạo lại. Nhưng đây không phải là một tùy chọn thuận tiện nếu kèo bóng đá pháp đã được lấp đầy bằng dữ liệu hoặc nếu kèo bóng đá pháp được tham chiếu bởi các đối tượng cơ sở dữ liệu khác (ví dụ như một ràng buộc khóa nước ngoài).PostgreSQLcung cấp một gia đình các lệnh để thực hiện sửa đổi cho các kèo bóng đá pháp hiện có. Lưu ý rằng điều này khác biệt về mặt khái niệm với việc thay đổi dữ liệu có trong kèo bóng đá pháp: Ở đây chúng tôi quan tâm đến việc thay đổi định nghĩa hoặc cấu trúc của kèo bóng đá pháp.

Bạn có thể:

  • Thêm kèo bóng đá pháp

  • Xóa kèo bóng đá pháp

  • Thêm các ràng buộc

  • Xóa các ràng buộc

  • Thay đổi giá trị mặc định

  • Thay đổi loại dữ liệu kèo bóng đá pháp

  • Đổi tên kèo bóng đá pháp

  • Đổi tên kèo bóng đá pháp

Tất cả những hành động này được thực hiện bằng cách sử dụngPostgreSQL: Tài liệu:Lệnh, có trang tham chiếu chứa chi tiết ngoài các trang được đưa ra ở đây.

5.5.1. Thêm một kèo bóng đá pháp

Để thêm kèo bóng đá pháp, sử dụng lệnh như:

Sản phẩm thay đổi Thêm mô tả kèo bóng đá pháp;

kèo bóng đá pháp mới ban đầu chứa đầy bất kỳ giá trị mặc định nào được đưa ra (NULL nếu bạn không chỉ địnhMặc địnhmệnh đề).

Tip

từPostgreSQL11, Thêm một cột có giá trị mặc định không đổi không còn có nghĩa là mỗi hàng của kèo bóng đá pháp cần được cập nhật khiBẢNG ALTERCâu lệnh được thực thi. Thay vào đó, giá trị mặc định sẽ được trả về vào lần tiếp theo, hàng được truy cập và áp dụng khi kèo bóng đá pháp được viết lại, tạo raBẢNG ALTERrất nhanh ngay cả trên các kèo bóng đá pháp lớn.

Tuy nhiên, nếu giá trị mặc định biến động (ví dụ:clock_timestamp ()) Mỗi ​​hàng sẽ cần được cập nhật với giá trị được tính toán tại thời điểmkèo bóng đá pháp thay đổiđược thực thi. Để tránh hoạt động cập nhật có khả năng kéo dài, đặc biệt nếu bạn có ý định lấp đầy kèo bóng đá pháp với các giá trị chủ yếu là Nondefault, có thể tốt hơn là thêm kèo bóng đá pháp không có mặc định, hãy chèn các giá trị chính xác bằng cách sử dụngCập nhật, và sau đó thêm bất kỳ mặc định mong muốn như được mô tả bên dưới.

Bạn cũng có thể xác định các ràng buộc trên kèo bóng đá pháp cùng một lúc, sử dụng cú pháp thông thường:

14913_14998

Trên thực tế, tất cả các tùy chọn có thể được áp dụng cho mô tả kèo bóng đá pháp trongTạo kèo bóng đá phápcó thể được sử dụng ở đây. Tuy nhiên, hãy nhớ rằng giá trị mặc định phải thỏa mãn các ràng buộc đã cho hoặcThêmsẽ thất bại. Ngoài ra, bạn có thể thêm các ràng buộc sau (xem bên dưới) sau khi bạn đã điền vào kèo bóng đá pháp mới một cách chính xác.

5.5.2. Xóa một kèo bóng đá pháp

Để xóa kèo bóng đá pháp, sử dụng lệnh như:

thay đổi sản phẩm kèo bóng đá pháp mô tả cột;

Bất kỳ dữ liệu nào trong cột đều biến mất. Các ràng buộc kèo bóng đá pháp liên quan đến cột cũng bị loại bỏ.PostgreSQLsẽ không âm thầm bỏ ràng buộc đó. Bạn có thể cho phép bỏ mọi thứ phụ thuộc vào kèo bóng đá pháp bằng cách thêmCascade:

thay đổi sản phẩm kèo bóng đá pháp thả cột mô tả Cascade;

xemPhần 5.13Để mô tả về cơ chế chung đằng sau điều này.

5.5.3. Thêm một ràng buộc

Để thêm một ràng buộc, cú pháp ràng buộc kèo bóng đá pháp được sử dụng. Ví dụ:

Sản phẩm thay đổi BẢNG THÊM Kiểm tra (Tên < '');

Để thêm một ràng buộc không null, không thể được viết dưới dạng ràng buộc kèo bóng đá pháp, hãy sử dụng cú pháp này:

thay đổi sản phẩm kèo bóng đá pháp thay đổi cột sản phẩm_no không null;

Biên giới sẽ được kiểm tra ngay lập tức, vì vậy dữ liệu kèo bóng đá pháp phải thỏa mãn ràng buộc trước khi có thể được thêm vào.

5.5.4. Loại bỏ một ràng buộc

Để xóa một ràng buộc, bạn cần biết tên của nó. Nếu bạn đặt tên cho nó thì điều đó thật dễ dàng.PSQLlệnh\ DTableNamecó thể hữu ích ở đây; Các giao diện khác cũng có thể cung cấp một cách để kiểm tra chi tiết kèo bóng đá pháp.

thay đổi sản phẩm kèo bóng đá pháp thả ràng buộc một số_name;

(Nếu bạn đang xử lý một tên ràng buộc được tạo như$ 2, Đừng quên rằng bạn sẽ cần phải kiểm duyệt nó để biến nó thành một định danh hợp lệ.)

Như với việc thả một kèo bóng đá pháp, bạn cần thêmCascadeNếu bạn muốn bỏ một ràng buộc mà một cái gì đó khác phụ thuộc vào. Một ví dụ là một ràng buộc khóa nước ngoài phụ thuộc vào ràng buộc khóa duy nhất hoặc chính trên (các) kèo bóng đá pháp được tham chiếu.

Điều này hoạt động giống nhau cho tất cả các loại ràng buộc ngoại trừ các ràng buộc không null. Để thả một ràng buộc không sử dụng NULL:

thay đổi sản phẩm kèo bóng đá pháp thay đổi cột sản phẩm_no không null;

(Nhớ lại rằng các ràng buộc không có null không có tên.)

5.5.5. Thay đổi giá trị mặc định của một kèo bóng đá pháp

Để đặt mặc định mới cho một kèo bóng đá pháp, hãy sử dụng lệnh như:

Sản phẩm thay đổi thay đổi giá kèo bóng đá pháp Đặt mặc định 7.77;

Lưu ý rằng điều này không ảnh hưởng đến bất kỳ hàng hiện có nào trong kèo bóng đá pháp, nó chỉ thay đổi mặc định cho tương laiChènlệnh.

Để xóa bất kỳ giá trị mặc định nào, sử dụng:

thay đổi sản phẩm kèo bóng đá pháp thay đổi giá bỏ giá mặc định;

Điều này thực sự giống như đặt mặc định thành NULL. Kết quả là, việc thả mặc định không được xác định là lỗi không phải là lỗi mà mặc định là mặc định là giá trị null.

5.5.6. Thay đổi kiểu dữ liệu của kèo bóng đá pháp

Để chuyển đổi kèo bóng đá pháp thành kiểu dữ liệu khác, sử dụng lệnh như:

thay đổi sản phẩm kèo bóng đá pháp thay đổi loại giá cột số (10,2);

Điều này sẽ chỉ thành công nếu mỗi mục nhập hiện tại trong kèo bóng đá pháp có thể được chuyển đổi thành loại mới bằng một diễn viên ngầm. Nếu cần chuyển đổi phức tạp hơn, bạn có thể thêmsử dụngmệnh đề chỉ định cách tính các giá trị mới từ cũ.

PostgreSQLsẽ cố gắng chuyển đổi giá trị mặc định của kèo bóng đá pháp (nếu có) sang loại mới, cũng như bất kỳ ràng buộc nào liên quan đến kèo bóng đá pháp. Nhưng những chuyển đổi này có thể thất bại hoặc có thể tạo ra kết quả đáng ngạc nhiên.

5.5.7. Đổi tên một kèo bóng đá pháp

Để đổi tên kèo bóng đá pháp:

thay đổi sản phẩm kèo bóng đá pháp đổi tên cột sản phẩm_no thành sản phẩm_number;

5.5.8. Đổi tên một kèo bóng đá pháp

Để đổi tên một kèo bóng đá pháp:

thay đổi sản phẩm kèo bóng đá pháp đổi tên thành các mục;