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

Cách tìm tên của ràng buộc not-null trong SQL Server

Bạn không thể.

Trong khi cú pháp không chấp nhận tên ...

CREATE TABLE T
(
C INT CONSTRAINT NN NOT NULL
)

... và nó được phân tích cú pháp và xác thực dưới dạng tên ...

CREATE TABLE T
(
C INT CONSTRAINT NN123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 NOT NULL
)
/* The identifier that starts with 'NN1234...6' is too long. Maximum length is 128. */

... điều này sau đó bị bỏ qua và thực sự không được lưu trữ ở bất kỳ đâu.

Không có hàng nào được thêm vào sys.objects đối với những điều này không giống như các ràng buộc khác. Nó chỉ được lưu trữ dưới dạng một thuộc tính bit của cột được liên kết chứ không phải là một đối tượng ràng buộc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi nvarchar sang bigint trong Sql server 2008

  2. Kiểu dữ liệu dotNet gốc nào thích hợp nhất để truyền tải các giá trị SQL Server hierarchyId?

  3. Giá trị thập phân trong SQL để chia kết quả

  4. Ba xu hướng hàng đầu ảnh hưởng đến các DBA chịu trách nhiệm giám sát máy chủ SQL

  5. SQL Server:Rò rỉ mức cách ly trên các kết nối được gộp chung