ODBC経由でOracleテーブルへのフロントエンドとしてMS Accessを使用していますが、うまく機能しています。しかし、Oracle テーブルで DEFAULT 制約を使用しようとしています。Access でリンクされたテーブルを開くと、既存のデータは問題なく表示されますが、行を追加しようとすると、Oracle DEFAULT を持つ列に値を入力せずに (デフォルトが使用されることを期待して) # と表示されます。各列で削除され、行はテーブルに追加されません。何か案は?それが助けになるなら、私はより多くの詳細を提供することができます.
2 に答える
1
グリッド ビューをデータ エントリとして使用してこれを行っている場合、Access が空の文字列をその値として明示的に挿入しようとしている可能性があると思います。挿入用の単純な SQL ステートメントを書いてみて、何が起こるか見てみましょう。
基になる SQL は次のようになると思います (デフォルト値が name="John"、balance="0.0" に設定されていると仮定)...
グリッド ビュー経由:
insert into customers (cust_id, name, balance) values (1, "Bob", 50.25);
1 つが空の場合:
insert into customers (cust_id, name, balance) values (2, "", 0);
ただし、SQL 経由:
insert into customers (cust_id, name) values (3, "Pete");
insert into customers (cust_id) values (4);
SQL の例では、設定されていない列にデフォルト値を使用すると仮定しますが、グリッド ビューは UI から空白の値を提供し、デフォルトが使用されないようにします。
于 2008-12-24T19:09:55.457 に答える
0
Oracleについてはわかりませんが、これをSQL Serverで機能させるには、テーブルにタイムスタンプフィールドが必要です。
于 2008-12-27T04:08:57.677 に答える