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

チェック制約内のSQLサブクエリ

    CHECK制約で現在の行を超えて検索することはサポートされていません。

    http://www.postgresql.org/docs/9.1/interactive/sql-createtable.htmlによると:

    列制約として指定されたチェック制約は、その列の値のみを参照する必要がありますが、テーブル制約に表示される式は複数の列を参照できます。

    現在、CHECK式にサブクエリを含めることも、現在の行の列以外の変数を参照することもできません。

    この制限には十分な理由がありますが、交通量の多い一輪車に乗っているときに燃えるような松明をジャグリングしたい場合は、関数を使用して制限を解除できます。これがならない状況 あなたがまれに噛むために戻ってきます。代わりに、トリガーコードの不変条件を適用する方がはるかに安全です。

    http://www.postgresql.org/docs/9.1/interactive/triggers.html




    1. OracleException(0x80004005)Oracleデータベースに接続する場合

    2. SQL:優先度で並べ替えますが、最後に0を付けます

    3. SYSBACKUP権限を持つ一般ユーザー

    4. SQL ServerのSERVERPROPERTY()からすべてのプロパティを返す改善されたスクリプト