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

1 つのステートメントに複数の制約を追加する

    3 つの問題があります:

    <オール>
  1. ステートメントは ; で終了します コードの 2 行目の最後に
  2. あなたは FOR MEMBER_ID を持っています 最後のステートメントで、おそらく FOR Sys_date である必要があります .
  3. ADD を繰り返します ただし、する必要はありません .
  4. このテーブル構造を想定:

    CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
    

    この DDL は動作します:

    ALTER TABLE MEMBER
    ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
        CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
    

    この sqlfiddle を参照してください .

    できます 理論的には、MSDN の ALTER TABLE 、ただし、これらの仕様が読みにくい場合があることは容易に認めます。彼らがそれをどのように説明しているかを以下に示します:

    ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name 
    { 
        ALTER COLUMN column_name 
        -- Omitted....
        | ADD 
        { 
            <column_definition>
          | <computed_column_definition>
          | <table_constraint> 
          | <column_set_definition> 
        } [ ,...n ]
        -- Omitted....
    

    ADD キーワードが 1 回出現し、} [ ,...n ] ビットは {brackets} n の間でビットを繰り返すことができることを示します , で区切られた時間 .



    1. クエリでmysqlフルテキストストップワードを無視する

    2. MYSQL別のテーブルからIDを挿入

    3. アプリケーションがjbossにデプロイされているときにXmlparserv2エラーが発生しました。JBossforJavaWebアプリケーションにOracleojdbcモジュールをインストールしています。

    4. PHPで動的マトリックスを作成する方法は?