sql >> Databasteknik >  >> RDS >> Sqlserver

Syntax för standardvärde för användardefinierad typ som tabell

Använd normal syntax (se SKAPA TYP , MSDN):

(Som noterat i kommentarerna till mitt svar skulle den korrekta normala syntaxen vara att använda namngivna begränsningar, men tabelltyper kan inte använda namngivna begränsningar och måste använda "shorthand"-syntaxen).

CREATE TYPE [dbo].[MyDefineType] As Table                
(
  ID int NOT NULL DEFAULT 0
, Column1 int NOT NULL DEFAULT 99
, Column2 Nvarchar(128) NULL DEFAULT N'DefaultValue'
, Column3 Nvarchar(128) NULL
, Column4 Nvarchar(128) NULL 
, Column5 Nvarchar(128) NULL       
)

Använd till exempel definitionen ovan med standardvärden i de tre första kolumnerna:

DECLARE @t MyDefineType
INSERT @t VALUES (1, DEFAULT, DEFAULT, N'c', N'd', N'e')
SELECT * FROM @t

ID  Column1 Column2         Column3 Column4 Column5
1   99      DefaultValue    c       d       e



  1. Returnera dubbletter av poster

  2. Rails-databaser, varför använda samma DBMS för utveckling och produktion?

  3. Lagra php datetime i mysql-databasen

  4. Hur reparerar man en serialiserad sträng som har skadats av en felaktig byte-räknelängd?