[解決済み] Oracleのテーブル/カラム/インデックス名は、なぜ30文字に制限されているのですか?
質問
何年も前にこのような制限があったことは理解できますが、現在ではこの制限は簡単に増やせるはずです。オブジェクトの命名規則がありますが、特に外部キーの命名では、この制限にぶつかるケースが常にあります。
なぜこのサイズが大きくないのか、あるいは11gでは大きくなっているのか、実際に知っている人はいますか?
どうやら答えは、防御的にコード化されていない現在のスクリプトが壊れるからだそうです。これは非常に心配なことで、Oracleは次のようなことをしようとしています。 その データベースは、常に改善しなければならないものであり、そうでなければ、あなたの製品は千の死を迎えることになるでしょう。
社内でこのような異論を目にするたびに、そろそろ腹をくくって整理する時期だと思うのです。もし、Oracleのバージョンをアップグレードする際に、チェックやメンテナンスをしていないスクリプトを実行しているなら、その選択の結果に苦しめばいいのです。互換性フラグを提供し、サイズを4000に上げれば、オブジェクトを作成するときに、名前が「OK」であることを確認するために30まで数え続けなければならない無駄な時間を省くことができます。
解決方法は?
ANSI規格だと思うのですが。
EDITです。
実は、標準SQL-92のことだと思います。
標準の後のバージョンでは、オプションで128文字の名前が使えるようですが、Oracleはまだこれをサポートしていません(30文字が使える範囲で部分的にサポートしているか。うーん)。
このページで "F391, Long identifiers" を検索してください... http://stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/ap_standard_sql001.htm
(参照先を探しています)
関連
-
オラクルにおけるNEXTVALの事例を解説
-
オラクルユーザー作成プロセスの説明
-
Oracle 11gのダウンロード、インストール、グラフィックチュートリアルを使用します。
-
Oracle ADGプロセスを構築するDBCAコマンドライン
-
[解決済み] Oracle の起動ができません - ORA-00845: MEMORY_TARGET はこのシステムでサポートされていません - しかし、メモリサイズは問題ないようです。
-
[解決済み] libclntsh.so.11.1: 共有オブジェクト・ファイルを開くことができません。
-
[解決済み] オラクル:テーブルが存在する場合
-
[解決済み】オラクルSQL。別のテーブルからのデータでテーブルを更新する
-
[解決済み】Oracleのテーブルからカラム名を取得するにはどうすればよいですか?
-
[解決済み] カラム名を取得するためのOracleクエリ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Oracle19c テーブルスペースの作成における落とし穴
-
sqlplusコマンドによるOracleデータベースへのさまざまなログイン方法
-
オラクルのTO_DATEの使い方解説
-
plsqlを使用してリモートOracleデータベースに接続する複数の方法
-
[解決済み】Oracle "SQL Error: Missing IN or OUT parameter at index:: 1" と表示されました。
-
[解決済み] ORA-00900: 無効な SQL 文 - Oracle 10g のプロシージャを実行するとき
-
[解決済み] ORA-01882: タイムゾーン領域が見つかりません。
-
[解決済み] ORA-29913: Oracle に csv を挿入する際の ODCIEXTTABLEOPEN コールアウトの実行でエラーが発生しました。
-
[解決済み] ORA-01747:user.table.column, table.column, または column の指定が無効です。
-
[解決済み] ORA-00972 識別子が長すぎるエイリアス列名