Sybase ASEで、すべてのプライマリキーと一意キーを検出したいと思います。私はこの答えで説明されているのと同じようなことをしたいです:
しかし、残念ながら、これは私にはうまくいきません。どういうわけか、syskeysテーブルはシステムテーブルキーに対してのみ、自分のキーの行を返します。
私は何を間違っているのでしょうか?いくつかの不足している助成金?Sybase ASE 15.5をインストールし、ユーザーと接続していますdbo。ログインsa
Sybase ASEで、すべてのプライマリキーと一意キーを検出したいと思います。私はこの答えで説明されているのと同じようなことをしたいです:
しかし、残念ながら、これは私にはうまくいきません。どういうわけか、syskeysテーブルはシステムテーブルキーに対してのみ、自分のキーの行を返します。
私は何を間違っているのでしょうか?いくつかの不足している助成金?Sybase ASE 15.5をインストールし、ユーザーと接続していますdbo。ログインsa
キーフィールドを明示的に宣言する場合(CREATE TABLEステートメントなど)、これはテーブルに入力されません。syskeysあなたはそれをするために(例えば)sp_primarykeysを使うでしょう。syskeysこれにより、アプリケーションで検出できるようにしたい主キー、外部キーなどをテーブルに「登録」できます。問題のフィールドに実際の制約が適用されていない場合でも、この方法で主キーを宣言できます。
ストアドプロシージャsp_helpconstraintを使用して、テーブルに定義されているすべてのキー(など)を見つけることができます。
データベース内のすべてのテーブルをクエリするには、sysindexesテーブルを使用して、statusフィールドなどを確認する必要があります。