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

Thêm nhiều ràng buộc trong một câu lệnh

Bạn có ba vấn đề:

  1. Bạn kết thúc câu lệnh bằng ; ở cuối dòng mã thứ hai của bạn.
  2. Bạn có FOR MEMBER_ID trong câu lệnh cuối cùng, có lẽ phải là FOR Sys_date .
  3. Bạn lặp lại ADD nhưng không phải .

Giả sử cấu trúc bảng này:

CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);

DDL này sẽ hoạt động:

ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
    CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;

Xem sqlfiddle này .

Bạn có thể về mặt lý thuyết cũng thấy điều này trên trang của MSDN trên ALTER TABLE , mặc dù tôi sẵn sàng thừa nhận rằng những thông số kỹ thuật đó có thể khó đọc. Đây là một điểm khó hiểu về cách họ giải thích điều đó:

ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name 
{ 
    ALTER COLUMN column_name 
    -- Omitted....
    | ADD 
    { 
        <column_definition>
      | <computed_column_definition>
      | <table_constraint> 
      | <column_set_definition> 
    } [ ,...n ]
    -- Omitted....

ADD từ khóa xuất hiện một lần và } [ ,...n ] bit cho bạn biết rằng bạn có thể lặp lại bit giữa {brackets} n lần, được phân tách bằng , .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giá trị trả về 0 có luôn là một thành công trong các thủ tục được lưu trữ không?

  2. Sao chép cơ sở dữ liệu SQL Server

  3. truy vấn sql để thêm động tháng tài chính bằng cách sử dụng pivot

  4. Lỗi gói nhập - Không thể chuyển đổi giữa kiểu dữ liệu chuỗi Unicode và không phải Unicode

  5. Xuất dữ liệu truy vấn SQL sang Excel