Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Синтаксис за стойността по подразбиране за дефиниран от потребителя тип като таблица

Използвайте нормалния синтаксис (вижте CREATE TYPE , MSDN):

(Както е отбелязано в коментарите към моя отговор, правилният нормален синтаксис би бил да се използват наименувани ограничения, но типовете таблици не могат да използват наименувано ограничение и трябва да използват "стенографския" синтаксис).

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       
)

Например, използвайки горната дефиниция със стойности по подразбиране в първите три колони:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Влезлите потребители се отписват след известно време

  2. Кой е най-добрият SQL тип данни за съхраняване на JSON низ?

  3. Създайте временна таблица на базата на друга таблица в SQL Server

  4. Как да ПОРЪЧАТЕ ПО в SQL PIVOT

  5. Кой е най-добрият начин за копиране на база данни?