Oracle
- JSP(HTML)~サーブレット~オラクルDBのデータの受け渡しについて
JSPにてコンボボックスがあるとします。そのコンボボックスで数字(1~10)を選択すると、その選択し送信した数字をサーブレットが受け取り、その数字に対するデータからオラクルDBに登録したり引っ張り出したりするとします。そこで質問なのですが、コンボボックスにてNULLをサーブレットに渡し、そのNULLをDBに入れたい場合、どのように書けば宜しいのでしょうか?私は以下のように現在書いています。 <JSP(HTML)> <option value=null></option> <option value="1">No.1</option> <option value="2">No.2</option> <option value="3">No.3</option> <option value="4">No.4</option> <option value="5">No.5</option> <option value="6">No.6</option> <option value="7">No.7</option> <option value="8">No.8</option> <option value="9">No.9</option> <option value="10">No.10</option> <サーブレットにて番号を受け取る> Integer.parseInt(req.getParameter("NUMBER")), ただ、これですと、NULLを選択してもサーブレットがString型と判断してしまい、型が違うというエラーが出てしまいます。私としては型とかは関係なく、NULL(からっぽ)ということをそのままDBへ渡してほしいだけなのですが・・・。 ちなみに、NUMBERはNOT NULL制約などはついておりません。ご助言を!!
- ベストアンサー
- noname#15844
- Oracle
- 回答数1
- Oracle SQLにて固定長でデータをselectする方法
Oracle SQL超初心者の者です。 Oracle SQLで固定長を指定してデータをselectすることを考えているのですが、僕がやりたいことが見当たらず質問に至りました。 例えば、Field1はchar型で(10)で定義されているとします。このField1を固定長の(20)でselectしたいのです。 (空き領域は半角0を入力) また、Field1には「ヤマダ タロウ」や「ヤマノウチ ケンジロウ」のように、固定長のデータが格納されていません。 このようなことがOracle SQLで実現可能であれば是非とも教えていただきたいです。
- ベストアンサー
- k-baseball1234
- Oracle
- 回答数1
- 【再投稿】Pro*Cの大文字小文字
こんにちは。 現在Oracle9 Pro*Cで開発をしているのですが、下記のSQLが変です。 どう変かというと・・・ (1)EXEC SQL SELECT ABC FROM DB1 WHERE A_NUM = \'1\'; (2)EXEC SQL SELECT abc FROM DB1 WHERE A_NUM = \'1\'; (3)EXEC SQL SELECT Abc FROM DB1 WHERE A_NUM = \'1\'; 元々(1)のように記述してありました。 それがある日突然データがあるのにNotFoundになって、ためしに項目名ABCをabcに変えたところ、なぜだかselectできるようになりました。 しかし(2)も今日突然データがあるのにNotFoundになり、(3)のようにAbcにかえたところ、selectできるようになりました。 大文字小文字は関係ないと誰に聞いても言われるのですが、実際今は(3)でないと同じデータでもselectできません。 今はこれでいいですが、この調子で行くときっといつか(3)でもselectできなくなり、aBcとかにしなくてはいけない日が来ると思うのです。 なんででしょう? 環境の問題とかでしょうか? 何か分かる方がいたら、よろしくお願いします。
- ベストアンサー
- noname#7237
- Oracle
- 回答数1
- 半角の「、」を全角に置換するには?
あるテーブルのあるカラムに含まれている半角の「、」を一気に全角に置換する方法はありますでしょうか? よろしくお願いします。
- ベストアンサー
- noname#247520
- Oracle
- 回答数1
- 抽出データの欠落
プログラムもほとんど知らない素人ですが質問させていただきます。^^; oracle9iデータベースで、未抽出の情報があれば、「抽出済みフラグ」を立て、さらにその情報はテキストファイルに出力する処理を開発者に作ってもらいました。 しかし、データの10件に抽出済みフラグが付いたのに、テキストファイルへの出力は8件とか9件しか出力されない といった現象が頻発して困っています。 当初はSQL文のみのプログラム(?)で現象が出たのでVBプログラムで作り直してもらったのですが、同じ現象が出ます。 データ総件数は3万件ぐらいで、抽出される件数は20~100件ぐらいです。 こういったトラブルはoracleデータベースで一般的にあり得るのでしょうか? よろしくお願いします。
- ベストアンサー
- kawa_chan_desu
- Oracle
- 回答数2
- データベースの資格を取るならどっち?
現在データベースの資格を取得しようと思っているのですが、ORACLEマスターまたはDB2のどちらか考え中です。しかし圧倒的にオラクルマスターの取得者が回りにおおいのですが、かといってDB2もORACLEと引けをとらない能力を持っていますしなにより受験料が安い! (DB2は10,000円、オラクル15,000円) でも実務上オラクルを使用するのが多いです。 もし取得しようと思うのならあなたはどちらにしますか?
- データ表示順序
SQLを使用したデータの表示順序に関する質問です。 Order by 句を指定して表示をさせているのですが、 指定したOrder by 句の項目が全て同一な場合、 どういった順序で表示されるのでしょうか? 基本的には、 データをINSERTした時のINSERT順と考えていますが、 OracleのROWNUM等の絡みで必ずしもINSERT順ではないのですよね・・?? どなたかご存知でしたら教えてください。
- ベストアンサー
- NaNa777777
- Oracle
- 回答数2
- 汎用機からのデータ移行
汎用機からUNIXサーバへのシステム移行を予定しています。 サーバ側のDBとしてORACLEを採用予定です。 汎用機側で使用しているDBの内容を、サーバ側に合わせコード変換した後に CSVファイルとしてサーバに転送し、ORACLEのDBにロードして初期DBの 構築をおこなう予定です。 (ロードには付属のユーティリティ(ローダ)を使用予定) この際、ORACLE側でデータ型を’NUMBER’で定義している項目に対しては、 CSVファイル側の該当項目と桁数を合わせなくても問題は無いでしょうか? 例) ・ORACLE 側の定義 商品コード CHAR(3) 定価 NUMBER(5) ・CSVファイルの内容 A01,1500 B01,100 それとも、桁数を合わせ ・CSVファイルの内容 A01,01500 B01,00100 としなくてはならないのでしょうか? もう一点、 全角文字は、CHAR属性の項目に、シフトー度付きでセットすればよいのでしょうか? どうぞ宜しくお願いいたします
- ベストアンサー
- kumako2gou
- Oracle
- 回答数1
- ノーアーカイブログモードへの変更
ノーアーカイブログモードへの変更コマンドが分かりません。 PFILEはコメント(#)になっていて、再起動をおこなってもアーカイブモードのままになってしまいます。 どなたかご教授ください。 よろしくお願いします。
- SQLで条件にヒットしたレコードより後ろ10件を出したい
データベースはOracleで、SQLでWhere区の条件にヒットしたレコードと、そのレコードより後ろ10件のレコードも抽出したい場合何か良い方法ありますか? 例.商品マスタがあって、商品CD=1111で検索した場合は、商品CDが1111より後ろ10件のレコードも抽出したい。 商品CDは連番になっていない部分もあります。
- ADO接続でのセッションIDとシリアル番号の取得方法
VB6.0とADO環境でOracle8iに接続しています。 非同期接続で、Insertなどの処理状況を V$SESSIONから取得しようと思うのですが、 そのために必要なセッションIDとシリアル番号の 取りかたが判りません。 詳しい方、どうかご教授のほどよろしくお願いします。
- Windows2000 Serverの空きメモリ参照方法
空きメモリの50%をOracle9i DatabaseのSGAに割り当てたいと考えております。 Windows2000 Serverで「空きメモリ」を参照したい場合はどこを見ればよいのでしょうか? Linuxでいうとfreeコマンドのようなコマンドはあるのでしょうか? 何か他によい方法をご存知の方も教えて下さい。 宜しくお願いします。
- 締切済み
- rio_grande
- Oracle
- 回答数1
- ROWID型の宣言について(Pro*C)
(Oracle9i) Pro*Cにて、ROWIDを使用したSELECT&INSERTをしたいのですが、 ホスト変数をROWID型で宣言しようとするとエラーになります。 [PCC-S-02201, 記号"rowid"が見つかりました。 次のうちの1つが入るとき~] 宣言の仕方は以下の通りです。 EXEC SQL BEGIN DECLARE SECTION; rowid fetch_ROWID; short fetch_ROWID_ind; EXEC SQL END DECLARE SECTION; ROWIDという型はORACLEにあるので、なぜプリコンパイルが通らないのか 分かりません。 どなたかお分かりになる方がいらっしゃいましたらよろしくお願いいします。 ちなみに以下のような使い方をしようとしていますので、参考までに 載せておきます。 EXEC SQL DECLARE C_XXX CURSOR FOR SELECT ・・・,ROWID FROM XXX FOR UPDATE ・・・ EXEC SQL OPEN C_XXX; EXEC SQL WHENEVER NOT FOUND DO break; while(1){ EXEC SQL FETCH C_XXX INTO ・・・, :fetch_ROWID:fetch_ROWID_ind; EXEC SQL UPDATE XXX SET ・・・ WHERE ROWID=:fetch_ROWID:fetch_ROWID_ind; }
- 締切済み
- m_miyachan
- Oracle
- 回答数1
- TO_CHARでのゼロ非表示について
通常は小数点第二位まで固定で表示させたいのですが ゼロの場合は何も表示させたくありません。 TO_CHAR(COL1,'FM9,999.00')ですと'.00'が返ってきます。 書式では無理なのでしょうか? 現状は以下のようにしています。 DECODE(COL1,0,'',TO_CHAR(COL1,'FM9,990.00')) 宜しくお願い致します。
- ベストアンサー
- GreenLabel
- Oracle
- 回答数1
- OIP-04129: SELECT FOR UPDATE
OIP-04129: SELECT FOR UPDATEでのコミット/ロールバックを処理しています。 上記のエラーが理論的にどういう時に発生しますか? 自分が先に一つテーブルのデータを全部ロックしてますが、関係あるはずです。 原因が知りたいです。 宜しくお願いします!
- 同一レコードを複数取り出したい
以下のようなテーブルがあったとます。 <AA table> A B ------ 01 2 02 3 03 4 A = '01'のレコードを取り出す場合には、 select * from AA where A = '01'; A B ------ 01 2 で取れますが、このときBの値を判断して、以下のようにBの数だけ同一レコードを取り出したいと思います (where A = '01'ならば) A B ------ 01 2 01 2 (where A = '03'ならば) A B ------ 03 3 03 3 03 3 03 3 このように、同一レコードを条件によって複数取り出す処理をSQLで記述することはできるのでしょうか?
- こういうDELETE文を作成したいのですが
質問があるのですが、よろしくお願いいたします。 Oracle8iでDELETEの処理を考えています。 [待ち合わせ]テーブル id_no status ------------------ 1000 0 1000 0 2000 1 3000 0 3000 1 4000 0 4000 0 4000 0 以上のようなテーブルがある時に、同一のid_noでstatusがすべて0の時は、レコードを消すという処理を行う。またstatusに1が含まれるid_noは消さないという事を行いたいのですが、DELETE文の条件が解りません。GROUP句を使えばいいのかと思うのですが、うまく行きません。 以下の結果になる事を望んでいます。 id_no status ------------------ 2000 1 3000 0 3000 1 [1000] - statusが2レコードとも0なので、消す [2000] - statusが1なので、そのまま [3000] - statusが2レコードとも0でないので、そのまま [4000] - statusが3レコードとも0なので、消す お解りの方、アドバイスを頂ければ幸いです。 よろしくお願いします。
- こういうSELECTは可能でしょうか?
テーブルA ---------- コード 区分 金額1 金額2 というテーブルがあるとして、その中から、 区分=1 AND 金額1>=0 の時は金額1、 区分=1 AND 金額1< 0 の時は金額2、 区分=2 AND 金額2>=0 の時は金額2、 区分=2 AND 金額2< 0 の時は金額1 をSELECTしたいのですが、1つのSELECT文で抽出する事は可能でしょうか? SELECT ・・・ ←ここにどう書けば良いんでしょうか? FROM テーブルA;