Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Syntax für Standardwert für benutzerdefinierten Typ als Tabelle

Verwenden Sie die normale Syntax (siehe CREATE TYPE<). /a> , MSDN):

(Wie in den Kommentaren zu meiner Antwort erwähnt, wäre die richtige normale Syntax benannte Einschränkungen zu verwenden, aber Tabellentypen können keine benannten Einschränkungen verwenden und müssen die "Kurzschrift"-Syntax verwenden).

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       
)

Verwenden Sie beispielsweise die obige Definition mit Standardwerten für die ersten drei Spalten:

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