1

永続化されるすべての文字列が自動的に大文字になるように Oracle セッションまたは接続を構成できるかどうかは誰にもわかりませんか?

たとえば、次のような SQL を呼び出した場合: "INSERT INTO STUDENT (name) VALUES ('john doe')"

私のテーブルの情報は、次のように永続化されます。

STUDENT
--------------------
ID   | 1
NAME | JOHN DOE

このエントリを確認しましたが、次のようなものは見つかりませんでした: http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch3globenv.htm#sthref186

ありがとう!

4

1 に答える 1

5

そのためのセッションレベルの構成パラメーターはありません。

データを自動的に大文字で格納するトリガーをSTUDENTテーブルに書き込むことはできますが、テーブルごとにそれを行う必要があります。

CREATE TRIGGER trg_student
  BEFORE INSERT ON student
  FOR EACH ROW
BEGIN
  :new.name := upper( :new.name );
END;

解決しようとしている問題によっては、セッションの NLS 設定で大文字と小文字の区別を無視するように設定して、文字列 'John Doe is considered to be equal to the stringJOHN DOE`. これに対するオプション、制限、および欠点は、Oracle の特定のバージョンによって異なります。

于 2012-04-16T22:45:32.763 に答える