sql >> データベース >  >> RDS >> Sqlserver

テーブルとしてのユーザー定義型のデフォルト値の構文

    通常の構文を使用します( CREATETYPE<を参照してください。 / a> 、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       
    )
    

    たとえば、最初の3列をデフォルトとして上記の定義を使用します。

    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. 拡張機能を作成しようとしたときのPostgreSQLエラー

    2. Docker-composeのmariadbは変更後に再起動できません(終了コード1)

    3. AndroidアプリからMySQLデータベースにデータを挿入します。データベースに反映されない変更

    4. タイムゾーンなしでタイムスタンプフィールドを生成するDjangoDateTimeフィールド