したがって、これはかなり単純なはずですが、ドキュメントではやや複雑に見えます。私は PostgreSQL (現時点では 8.1) で SQL 関数を作成しました。これは、文字列入力に対してクリーンアップを行います。価値のあることとして、文字列は LDAP 識別名であり、コンマの後に一貫してスペースがないようにしたいと考えています。関数は clean_dn() であり、クリーンな DN を返します。別のいくつかの列へのすべての入力を小文字などに強制するために同じことをしたい-これは、この部分を理解すれば簡単なはずです。
とにかく、誰かがその列に挿入または更新および変更しようとするたびに、この関数をテーブルの「dn」列で実行したいと考えています。しかし、私が見つけることができるすべてのルールの例は、すべての挿入/更新クエリがテーブル内のすべての列を常に変更することを前提としているようです。私の状況では、そうではありません。私が本当に欲しいと思うのは、true または false を返すのではなく値を変更するだけの制約ですが、SQL の制約の考え方では意味がないようです。ルールで NEW テーブルに UPDATE を実行する必要がありますか? NEW 値の可能な組み合わせごとに新しいルールを作成する必要がありますか? また、列を追加する場合、考えられるすべての新しい列の組み合わせを反映するために、すべてのルールの組み合わせを調べて更新する必要がありますか?
簡単な方法があるはずです...