Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara menemukan nama batasan bukan-null di SQL Server

Anda tidak bisa.

Sementara sintaks tidak menerima nama...

CREATE TABLE T
(
C INT CONSTRAINT NN NOT NULL
)

... dan itu diuraikan dan divalidasi sebagai nama ...

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

... ini kemudian diabaikan dan sebenarnya tidak disimpan di mana pun.

Tidak ada baris yang ditambahkan ke sys.objects untuk ini tidak seperti kendala lainnya. Itu hanya disimpan sebagai properti bit dari kolom terkait daripada objek kendala.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menjatuhkan batasan kunci asing hanya jika ada di server sql?

  2. Desain database:satu tabel besar atau tabel terpisah?

  3. SQL:Fungsi ISNULL dengan berbagai jenis parameter

  4. Kapan lebih baik menyimpan flag sebagai bitmask daripada menggunakan tabel asosiatif?

  5. izin buat tabel ditolak di database 'master'