Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak znaleźć nazwę ograniczeń typu not-null w SQL Server

Nie możesz.

Chociaż składnia akceptuje nazwę...

CREATE TABLE T
(
C INT CONSTRAINT NN NOT NULL
)

... i jest analizowany i weryfikowany jako nazwa ...

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

... jest to następnie ignorowane i nie jest nigdzie przechowywane.

Żaden wiersz nie jest dodawany do sys.objects dla tych w przeciwieństwie do innych ograniczeń. Jest on po prostu przechowywany jako właściwość bitowa powiązanej kolumny, a nie jako obiekt ograniczenia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SqlDataAdapter.Fill() — Przepełnienie konwersji

  2. Funkcja agregująca sql do uzyskania listy

  3. MSSQL 2008:Pobierz ostatnio zaktualizowany rekord według określonego pola

  4. Znaczenie nawiasów kwadratowych [] w projektancie tabel MS-SQL?

  5. Grupuj według 2 odrębnych kolumn w SQL Server