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

SQL Serverでデフォルトの制約に依存する他の列を作成する方法

    計算列が必要です。例:

    CREATE TABLE tab1
    (
     ID INT IDENTITY(1,1)
    ,[Type] VARCHAR(10)
    ,IsValued AS CASE [Type] WHEN 'S' THEN 1
                             WHEN 'R' THEN 0
                 END
    )
    

    次の構文を使用して既存のテーブルに追加できます:

    ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
                                                     WHEN 'R' THEN 0
                                         END
    

    キーワード PERSISTED を追加することで、列を永続化できます コラム作成後。列を永続化するということは、フィールドがディスクに格納されることを意味します。レコードを挿入または更新すると、SQL サーバーはその時点で値を計算します。そうしないと、行にアクセスするたびに SQL Server が解決する必要があります。 SQL Server 2005 Computed で適切な説明を見つけることができます。列は維持されます

    ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
                                                     WHEN 'R' THEN 0
                                         END PERSISTED
    



    1. メールがデータベースにすでに存在するかどうかを確認します

    2. SQLを使用して、左から右と右から左の言語が混在する文字列の文字を逆にしますか?

    3. PythonでのMySQL警告のトラップ

    4. SQLServerコレクションインベントリスクリプト-1