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

If Then Else sql server 2008に基づいて既存の列にデフォルト値を追加します

    CHECK 制約、

    を使用して実行できます。

    まず、テーブルを作成する必要があります。

     create table myTemp1(TempId int not null ,TransCode int,ReasonCode int);
    

    次に、制約を

    として追加します

    create table myTemp1(TempId int not null ,TransCode int,ReasonCode int);

    alter table myTemp1
    add constraint check_role CHECK(case when (TransCode = 1 AND ReasonCode = NULL)
                                    then 99 else ReasonCode end = ReasonCode);
    

    またはいいね

    alter table myTemp1
    add constraint check_role CHECK(ReasonCode = (case when (TransCode = 1 AND ReasonCode
                                    = NULL) then 99 else ReasonCode end = 1))
    

    http://sqlfiddle.com/#!3/d633a/1 のデモ



    1. MySQL-行のカウントと左結合の問題

    2. 基になる例外のため、接続クラスをロードできません:'java.lang.NumberFormatException:入力文字列の場合:OPENSHIFT_MYSQL_DB_PORT'

    3. 複数のパラメーター化された変数をC#のデータベースに追加する

    4. utf8データはmysqlでは正常に見えますが、Railsでは壊れています