- ベストアンサー
ORACLE DBへ初期化していない領域のレコードを
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
オラクルは、受け取ったデータを登録するだけですので、どのような値になるかは、登録する側次第です。 コンパイル時点のメモリ上のゴミだったり、実行時のメモリ上のゴミだったりすると思いますよ。
その他の回答 (2)
- SaKaKashi
- ベストアンサー率24% (755/3136)
2の方の通りで、項目のデフォルト値が設定されます。デフォルト値を指定していない場合にはnullになります。 1の方のゴミは入りませんので、お間違えの無いように。
- 3rd_001
- ベストアンサー率66% (115/174)
これは、たとえば5つの項目があるテーブルに対してInset時に4つしか項目指定をしていないでもデータが入ってしまう。指定をしていない項目になにが入るのかということでしょうか。 また、その1項目にはNotNull制約が付いているのでInsertできないはずなのでInsertできてしまう、とういことですか? 項目を指定しないなら、通常はNullが入ります。デフォルト値を設定していれば、そのデフォルト値が入ります。ですので、その項目にはデフォルト値が設定されていて、デフォルト値が入っているのではないでしょうか。 検証可能な情報をご提示ください。
関連するQ&A
- オラクルのテーブルの領域について
色々と探してみたのですが、オラクルのDB全体の大きさとか未使用領域を見ることは解ったのですが、個々のテーブルの領域や未使用領域を見る手段があれば教えてください。データを格納している個別テーブルです。 よろしくお願いします。
- 締切済み
- Oracle
- オラクルのシーケンスについて
オラクルの連番(シーケンス)の振り方について一つお聞きしたい事がございます。 Insert時にシーケンスを使い、0から100まで順に連番を振りたいの ですが、100に到達する前に、あるタイミングで現在値を0に戻して 再び1から連番を振りたいんです。 ちなみにあるタイミングを、下記に簡単に例として書きます。 (1)ファイルから1レコードずつデータを読み込む。 (1)初回は何もチェックせずInsertをし、先頭から4バイトまでの値を変数に格納 (2)2レコード目以降は、先頭から4バイトまでの値を前回の値(変数)と比較 True(値が同じ) ⇒順番に連番を振る False(値が違う) ⇒新たに0から連番を振る。 変わった値を変数に格納する。 (2)Insertをする。 私の知っている知識で行けば、シーケンスは1テーブルで一つのシーケンス しか使用できなかったはずですが・・・なにぶん知識がないので、もしか したら出来たのかな?と思ったので質問しました。 上に書いた事が可能であるかどうか教えてください。 よろしくお願いします。
- ベストアンサー
- その他(データベース)
- Oracle バッファ領域について
Oracleでユーザをエクスポートした際に、ストアドプロシージャのところで、 ORA-01406 取り出された列の値は切り捨てられました というエラーが出ました。 これはプログラム・バッファ領域が文字列全体を格納するために十分な大きさではない、という意味らしく、対処として、最大列値を保持できるよう列のバッファ領域を増やす必要があるようです。 具体的に何をすればいいのか、上の説明ではよくわかりませんでした。 (結局そのバッファ領域はどこで設定するのか等) 詳しい方がいれば、お教えください。 よろしくお願い致します。
- ベストアンサー
- その他(データベース)
- オラクルDBからのデータ取得について
こんばんわ。 オラクル(sqlplus)についての質問2点です。 (1)シェルからオラクルDBへアクセスし、データを取得したいのですが、 select時に、結果のヘッダーをつけずに結果(データ)のみをファイル出力することは可能でしょうか? (DB2で言うところの「-x」オプションのような・・・) (2)エラー時にSQLコードを取得したいのですが、SQLコードをファイル出力することは可能でしょうか? オラクルは初心者で、行き詰まってしまいました・・・ どうかよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- レコード内容からテーブル特定
Oracleのデータ更新について質問させてください。 SQL文で、ある文字列を含むレコードデータを持つ、テーブルおよびレコード名を知る方法はありますでしょうか? 具体的には、DBに登録されている"google.co.jp"という文字列を"yahoo.co.jp"という文字列に全てupdateしたいのですが、 "google.co.jp"という文字列は複数のテーブルの不特定のレコードに格納されています。 全てのテーブルを1つ1つselectで見ていくしか方法は無いのでしょうか?
- 締切済み
- Oracle
- オラクルDBのデータ削除タイミング
お世話になります。 .NETとオラクルで作られた小さいシステムを引き継ぎました。 その中にメインになるDBがあり3ヶ月以前のデータは .NETの夜間削除処理APでDELETEしています。 そのメインDBにトリガーテーブルがあるのですが、1日分の データしか保存されていません。 しかし、どこで消えているのかが見つけられないでいます。 .NETの全APを検索してもないし、オラクルの機能であるような気が しているのですが、よくわかりません。 トリガーの条件は「INSERT」と「UPDATE」です。 どなたかヒントを下さい
- 締切済み
- Oracle
- oracleの「????」表記について
お世話になります。 現在、oracle xeを使用し、DBの勉強をしております。 1点わからないところがありましたので、お手数ですがご教授をお願いします。 varchar2をデータ型とするカラムに対し、日本語でinsert文で挿入すると、 「????」で表現されてしまいます。 以下が入力したSQL文です ------------------------------------------------ insert into TABLELIST(ID,NAME) values(11,'テスト'); ------------------------------------------------ カラムIDのデータ型:char(2) カラムNAMEのデータ型:varchar2(9) これは文字コードの違いによるものなのでしょうか。 oracle xeでは文字コードがデフォルトで「utf-8」になっているのですが、 utf-8では日本語の入力は不可能ということでしょうか。
- 締切済み
- その他(インターネット・Webサービス)
- Oracle SQLで文字列操作
始めまして。 VB6でプログラミングをしています。DBはOracle8.16です。 Oracleテーブル上で、カテゴリー別に " 文字列 & ナンバリング " の値をもつレコードを、インサートしていく作業をしています。 ナンバリングの部分の現在の最大値に1足したものを、 新規レコードで値を持たせインサートしてます。 tblA Col1 Col2 1 NA-P1-1 1 NA-P1-2 1 NA-P1-3 1 NA-P1-4 3 NA-P3-1 3 NA-P3-2 3 NA-P3-3 1 この場合、 Select max(Col2) from tblA where Col1 = 1 で現在のCol1=1のMax値(Col2)は NA-P1-4 と取り出せるできるんですが、新規に追加するレコードのCol2の値が NA-P1-5だと取得できる方法はあるでしょうか。 Select Max(col2)+1 ~だと、カラム定義がvarchar2なんで、 当然のようにシステムに怒られました(当然ですが。。) お分かりの方、お願い致します。
- ベストアンサー
- その他(データベース)
- oracle9iでの表領域名変更について
Oracle9iでの表領域名の変更方法について教えていただけませんでしょうか。 通常のデータを格納している表領域です。(一時やsystemではありません) 宜しくお願いします。
- 締切済み
- Oracle
- オラクル10で特定のレコードの複写を行うSQLはあるのでしょうか?
オラクル10で特定のレコードの複写を行うSQLはあるのでしょうか? レコードにはユニークキーがあるので、そのまま複写はできないと思いますが、 この場合は他の言語で素直にそのレコードを変数に読み込んで、ユニークキーをセット後、 INSERTで発行する手段しかないのでしょうか?
- ベストアンサー
- Oracle
補足
レスありがとうございます。 だいたい理解できました。でも、そのゴミが not null制約がある列に登録できるのですが、 これは、どのように解釈すれば良いのでしょうか? null以外のデータと解釈されるのでしょうか? また、それら登録されてしまったゴミのデータは、 oracleでは、nullとして扱われるのでしょうか?