sql >> Database >  >> RDS >> Sqlserver

Hoe de naam van niet-null-beperkingen in SQL Server te vinden

Dat kan niet.

Hoewel de syntaxis een naam accepteert...

CREATE TABLE T
(
C INT CONSTRAINT NN NOT NULL
)

... en het wordt geparseerd en gevalideerd als een naam ...

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

... dit wordt dan genegeerd en wordt eigenlijk nergens opgeslagen.

Er is geen rij toegevoegd aan sys.objects voor deze in tegenstelling tot andere beperkingen. Het wordt alleen opgeslagen als een biteigenschap van de bijbehorende kolom in plaats van een beperkingsobject.



  1. Verschil tussen count(1) en count(*) in orakel

  2. MySQL IN TUSSEN zonder voorwaarde

  3. Vraag time-out van web-app, maar werkt prima vanuit beheerstudio

  4. MS SQL data vergelijken?