sql >> Databáze >  >> RDS >> Sqlserver

Syntaxe pro výchozí hodnotu pro typ definovaný uživatelem jako tabulku

Použijte normální syntaxi (viz CREATE TYPE , MSDN):

(Jak je uvedeno v komentářích k mé odpovědi, správnou normální syntaxí by bylo použití pojmenovaných omezení, ale typy tabulek nemohou používat pojmenované omezení a musí používat syntaxi "zkrácené").

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       
)

Například pomocí výše uvedené definice s výchozími hodnotami v prvních třech sloupcích:

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. Volací procedura v oracle apex

  2. Rozdělte řetězec mezerou a znakem jako oddělovač v Oracle pomocí regexp_substr

  3. Jak formátovat záporná čísla pomocí úhlových závorek v Oracle

  4. Můžeme zakázat odstranění z konkrétních tabulek?