回答数
気になる
-
Oracle 11g コミットのタイミングについて
コミットされるタイミングに関して。。。 ----------------------------------------------------- REDOログバッファがREDOログファイルに書き出されるタイミングは ・コミットした時 ・3秒毎 ・REDOログバッファが3分の1になった時 ・DBWnがデータファイルに書込むとき ------------------------------------------------------- 上記の認識ですが、この中の3秒毎と言うのが理解できません。 こちらで試してみた結果がこちらです。 プロンプト1にて (1)sql接続 (2)name列確認 結果⇒test01 (3)name列更新 結果⇒test02 (4)コミットせずに3秒以上経過。 プロンプト2にて (5)sql接続 (6)name列確認 結果⇒test01 となります。 3秒毎にコミットされていない!! (4)でコミットをしてやると、(6)での結果はtest02になります。 3秒毎とはどういったことなのでしょうか。 よろしくおねがいいたします。
質問日時: 2013/03/15 15:48 質問者: under-son
ベストアンサー
2
0
-
Sqldeveloperに関して
環境:Windows 2008 standard edition 64bit Sqldeveloper:sqldeveloper64-3.2.20.09.87-no-jre java:jdk-6u33-windows-x64.exe 今回、Oracleへの接続として、Sqldeveloperを用いて接続しようと考えています。 ※ 厳密には環境の移植(32bit サーバ ⇒ 64bit サーバ) その際に、以前の32bit環境では問題なく起動したSqldeveloperが、なぜかこのサーバでは 下記のようなポップアップ表示が出力されてしまいます。 《ポップアップ内容》 Enter the full pathname for java.exe; その為、java.exe が存在するパスを指定し、OKボタンを押下したところ、今度は以下のような エラー表示となってしまいました。 《エラー内容》 Cannot find a J2SE SDK installed at path:C:\Program Files\Java\jre6. Sqldeveloperはデスクトップ上から起動させていますが、そもそも64bit版の場合はどこのフォルダへ 格納するのが正しくて、上記のようなエラーを回避する為には何をすれば良いでしょうか? 初歩的な質問で申し訳ありません。 教えて下さい。
質問日時: 2013/03/11 11:58 質問者: asamix_000
ベストアンサー
1
0
-
USER_SEGMENTの参照について
baunceです。 とくに困っているわけではないのですが、ずっと気になって いたのでここで質問させていただきます。 テーブルサイズを求める際に、USER_SEGMENTを参照して求めて いる方があります。 この際、GROUP BY SEGMENT_NAME と記載されている方が多いのですが、これは必要なのでしょうか。 USER_SEGMENTはSEGMENT_NAMEでユニークにはならないのでしょうか。 ちなみに私が携わっている環境ではGROUP BY してもしなくても 同じ結果となるようです。 以上よろしくお願いします。
質問日時: 2013/03/09 17:21 質問者: baunce
ベストアンサー
1
0
-
SQL について教えて下さい
---------------------------------------- テーブルAの カラム1、カラム2のデータが 10、作業A 20、作業B 30、作業C ---------------------------------------- テーブルBの カラム1、カラム2のデータが 10、2013/1/1 10、2013/2/1 20、1999/1/1 20、1999/2/1 ---------------------------------------- のようなデータがあります テーブルA、テーブルBのカラム1はリレーションです この2のテーブルから、テーブルBの最新日付の カラム1のグループ毎に選択するSQLを教えて下さい ---------------------------------------- 結果 10、作業A、2013/2/1 20、作業B、1999/2/1 ---------------------------------------- select テーブルA.カラム1,テーブルA.カラム2,テーブルB.カラム2 で、条件をどうしたら、テーブルBの最新日付を取り出せますか
質問日時: 2013/03/09 13:16 質問者: neko-007
ベストアンサー
1
0
-
プロシージャーに動的にパラメータを与えたい
VB.netからプロシージャーを呼び出してます。 SQLで、inの中などで、動的にパラメータを与えたいです。 Select * from TableX where koumoku1 in (1,2,3,5,10) 例えば上の1,2,3,5,10 をパラメータとして外部から与えたいのですが、 プロシージャー側の実装としては、どのような方法があるのでしょうか? パラメータの与え方は、 x = "1,2,3,5,10" のように1つの文字列でも良いし x[0]=1,x[1]=2,x[2]=3,x[3]=5,x[4]=10 のように配列みたいな形でも良いです。 よろしくお願い致します。
質問日時: 2013/03/06 11:27 質問者: evaan
ベストアンサー
3
0
-
selectの書き方を教えてください
Oracleで以下のデータから1)、2)の条件でコードをselectしてくるには どのようなSQL文を書けばよいでしょうか。 [DATA] code date status 0001 3-15 A 0001 3-15 B 0001 3-15 C 0002 3-15 A 0002 3-15 B 0003 3-15 B 0004 3-15 A 0005 3-15 C 1)3-15においてstatusがAとBを持つcodeを返したい →0001,0002が返ってきてほしい 2)3-15においてstatusにCを持つがそれ以外(A,B)は持たないcodeを返したい →0005が返ってきてほしい 単純なものなのかもしれませんが、 どうか、お力添えのほど、よろしくお願いいたします。
質問日時: 2013/03/05 17:40 質問者: duowhite
ベストアンサー
7
0
-
instantclient cse接続ができない
Oracle instantclient を利用し、 Windows64bit版oracleDB11gR2ドライバを入れましたが cse接続がうまく出来ません。 確認した症状としては、以下のものがあります。 (1)システムDSN追加したデータソースの表示がされません。 ユーザーDSNに追加した場合はcseで表示がされますが、 (2)ユーザーDSNで追加したデータソースを利用し接続を試みるとエラーとなります。 (1)については、 管理ツールのODBCデータ・ソースアドミニストレータにユーザDSNを追加した場合は、SysWOW64\odbcad32.exeの方にも自動的に追加され、cseのデータソースにはこちら だけ出てきているのは、この32bitの方を見ているせいではないかと思います。。 ちなみにドライバをインストールした直後はODBCデータ・ソースアドミニストレータに システムDSNの追加すらできず(14001エラー表示)、こちらは以下の処理で可能になりました。 mfc71.dll msvcp71.dll msvcr71.dll をsyetem32に追加 C++サービスパックedistributable Packageをインストール 似たような症状の記事もありましたが、 当方、初心者なもので、改めて質問させて頂きました。 業務上、どうしてもinstantclientを利用しDB接続する必要があり、 アドバイスがあれば、ご教授よろしくお願いします。
質問日時: 2013/02/27 16:47 質問者: fluct_unit
解決済
2
0
-
日付を表示形式で戻すSQL文を書きたい
2つの日付を与えてその2つの日付の間の日付を以下のような表形式で返すSQL文を作りたい。 可能でしょうか? 例えば、与える日付を以下の2つとして、 2012/01/05,2012/01/11 SQL文の実行結果は、 カラム名 2012/01/05 2012/01/06 2012/01/07 2012/01/08 2012/01/09 2012/01/10 2012/01/11 今回の例では、2012/01/05~2012/01/11までの7日間なので7件が返された。
質問日時: 2013/02/26 13:45 質問者: bxe01016
ベストアンサー
3
1
-
OraOps10.dllのエラーについて
Visual Studio 2010(c#) ASP.netでWeb開発をしており、 Oracle 10g(10.1.0) Clientを使用してDBサーバーに接続しています。 「DLL 'OraOps10.dll' を読み込めません: アクセスが拒否されました。」というエラーが出て接続できなかったため、 ネットで解決策を探したところ、ASP.NETの権限を与えたら上手くいくとのことで権限を 与えたところ、下記のエラーが出ました。 「DLL 'OraOps10.dll' の 'GetRegTraceInfo' というエントリ ポイントが見つかりません。」 解決方法をご存じの方、ご教授ください。
質問日時: 2013/02/18 15:29 質問者: erqew
ベストアンサー
1
0
-
【SQL】履歴から頻度順にソートして全件抽出
はじめまして。 次のような通話履歴テーブルから利用頻度の高い電話番号順に ソートして全件を抽出してきたいのですが、よいアイデアが浮かびません。 わかる方がいらっしゃいましたら、お知恵を貸してください。 id 電話番号 更新日時 --------------------------- 01 1111 2013/02/17 02 2222 2013/02/17 03 3333 2013/02/17 04 2222 2013/02/16 05 3333 2013/02/16 06 2222 2013/02/10 上記のようなテーブルから以下のように抽出しようと考えております。 id 電話番号 更新日時 --------------------------- 02 2222 2013/02/17 04 2222 2013/02/16 06 2222 2013/02/10 03 3333 2013/02/17 05 3333 2013/02/16 01 1111 2013/02/17 以上、よろしくお願いいたします。
質問日時: 2013/02/17 10:53 質問者: higemichel
ベストアンサー
2
0
-
テーブルの列名をデータとして設定しておき取得する
テーブルが2つあるとします。 テーブルAにはテーブルBの列名がデータとして登録されてます。 テーブルBには値が格納されてます。 テーブルA Key field1 field2 field3 ------------------------------ 1 item2 item3 item5 2 item1 item2 item5 ------------------------------ テーブルB Key item1 item2 item3 item4 item5 -------------------------------------------- 1 101 205 350 420 510 2 111 112 113 114 115 -------------------------------------------- ここでテーブルAとテーブルBへキーを指定して、 テーブルAのfield1~field3に登録されたすべての列名を元にテーブルBから値を取得したいです。 例として キー1を指定して取得すると 205,350,510 が取れます (item2,item3,item5の列名をテーブルAで指定した為) キー2を指定して取得すると 111,112,115 が取れます キーをパラメータとして与え、 できれば2つのテーブルを結合し、1回のSQLで取得する方法はありますでしょうか? (1回のSQLでなくても簡易であれば良いですが) よろしくお願い致します。
質問日時: 2013/02/13 19:09 質問者: evaag777
ベストアンサー
3
0
-
Oracle sqlplusで接続できなくない
お世話になっております。 Oracle11gを使っています。 PROCESSESの値を変えようとして、 以下のコマンドを実行しました。 ALTER SYSTEM SET PROCESSES = 10 SCOPE = SPFILE; Oracleを再起動した後、 sqlplusを使ってログインできなくなってしまいました。 表面的には、 ORA-12514: TNS: リスナーは接続記述子で要求されたサービスを現在認識していません。 というメッセージなのですが、サーバのログに以下の記述を見つけました。 ORA-00444: background process "MMAN" failed while starting ORA-00020: maximum number of processes () exceeded PROCESSESの値が小さすぎたようです。 SPFILEに定義されているので、 変更するにはsqlplusで接続して、 再度ALTER SYSTEM コマンドを実行すると思うのですが、 そもそもsqlplusで接続できないので、変更することができません。 データベースOpen時に、 nomoutにしてPFILEから起動しようとするとしても、 これもまた、接続できないので、使えない手段でした。 また、SPFILEのバックアップも取っていなかったので、どうにもなりません。 この窮状から復旧する方法について、教えていただければ幸いです。 よろしくお願いします。
質問日時: 2013/02/05 18:36 質問者: freeradical
ベストアンサー
1
0
-
ストアドプロシージャからアナライズをしたいです
どなたかアドバイス願います。 ストアドプロシージャから「DBMS_STATS.GATHER_TABLE_STATS」パッケージを使って アナライズをやりたいと思っているのですができません。 以下のSQLをSQL*Plusから実行するとうまく動作するのですが、 プロシージャから「EXECUTE IMMEDIATE」を使って動作させると コンパイルエラーとなってしまうのです。 ※本当はテーブル名を動的に変更したいと考えているのですが、まずはコンパイルを 通したいと思いまして以下サンプルとしています。 (SQL*Plus経由で以下を実行すると動作します) exec DBMS_STATS.GATHER_TABLE_STATS (OWNNAME=>'SCOTT',TABNAME=>'EX001',METHOD_OPT =>'FOR ALL INDEXED',CASCADE => TRUE); (コンパイルエラーとなるプロシージャ) CREATE OR REPLACE PROCEDURE TEAT01 AS BEGIN EXECUTE IMMEDIATE DBMS_STATS.GATHER_TABLE_STATS (OWNNAME=>'SCOTT',TABNAME=>'EX001',METHOD_OPT =>'FOR ALL INDEXED',CASCADE => TRUE); END TEAT01; (エラーメッセージ) Error(3,19): PLS-00222: この有効範囲内に、名前GATHER_TABLE_STATSの関数は存在しません。 以上よろしくお願いします。
質問日時: 2013/02/03 16:24 質問者: baunce
ベストアンサー
1
0
-
SQL文がわかりません。
SQL文がわからなく困っております。 下記のデータ*01を*02のデータのようにSELECTするためには、 どのようなSQL文を書けばよいのかお教えいただけますでしょうか? DBはoracle11gです。 ※01 ID 所属部署 _____________________________ 1 a 1 b 2 a 2 b 2 c 3 a 3 b 3 c 3 d ____________________________ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ※02 ID 所属部署 所属部署2 所属部署3 所属部署4 _________________________________________ 1 a b 2 a b c 3 a b c d
質問日時: 2013/01/28 11:19 質問者: taro0314
ベストアンサー
1
0
-
DB同時接続および更新処理結果確認について
お世話になります。 DB:Oracle11g OS:Linux5 上記環境のDBサーバへ、Aさん、BさんがTera Term接続して、 2名とも同じスキーマSSS(DBA付与)でsqlplusにてDB接続しました。 Aさんが、TTTテーブルに対してINSERT文を実行し、 1行追記されていることをSELECT文にて確認することができましたが、、 その後Bさんが同じSELECT文を実行しても、Aさんが追記した行が表示されません。 お恥ずかしい質問で恐縮ですが、 Bさんからも、AさんのINSERT実行結果を即時に確認できるようにするための Oracleの(?)設定がありましたら、ご教示ください。 ※目的はAさんが実行したINSERT、UPDATE、DELETEの結果を、 Bさんが開いているTera Termのコンソールからも確認したい。
質問日時: 2013/01/22 03:07 質問者: r7dhpkvpnf
ベストアンサー
1
0
-
RMANのバッチ実行に関して
RMANの不完全リカバリをバッチ化しようとしています。 サービスの起動や状態を確認するバッチ(oracle_restore.bat)内で リカバリを行うsqlファイル(oracke_restore.sql)を呼び出して、 実行しようとしています。 不完全リカバリの方法としては、時間を指定してリカバリを行うので、 rmanコマンドに、時間を引数として渡したいのですが、渡し方がわかりません。 バッチ実行時に oracle_restore.bat 2013-01-21 10:55:00 set RESTORE_TIME_YMD=%~1 set RESTORE_TIME_HMS=%~2 こんな感じで、引数を渡して rmanコマンドに rman target sys/pass @C:\oracle_restore.bat %RESTORE_TIME_YMD% %RESTORE_TIME_HMS% こんな感じで渡すことで、 set until time内に正しく時間を渡したいです。 SET UNTIL TIME "TO_DATE('%1','YYYY-MM-DD HH24:MI:SS')"; ↑sqlplusならこれで渡せたのですが。。。 なにか良い方法はありませんでしょうか。 ご教示願います。 OS:WindowsServer2008 R2 Oracle:oracleDB 11g R2
質問日時: 2013/01/21 14:13 質問者: under-son
ベストアンサー
1
0
-
oracle SQL
以下のようなことを実現する方法についてお教え頂きたいです。 ■テーブル [XXXマスタ] ID char(8) 上記のテーブルにはIDという項目があるのですが、このテーブルで 使用していないIDのみをSQLで抽出できないかと考えております。 ただし、なるべくならワークテーブルのようなものは利用せずに 行いたいと思っております。 いい方法があれば教えていただきたいです。
質問日時: 2013/01/14 10:50 質問者: 19820202
ベストアンサー
1
0
-
ある値以上の空き番の最小値を取得するSQL
テーブル TB の項目 CDがNUMBER型でユニークキーだとします。 このCDで ・ある値以上の空いている最小の番号を取得したい。 としたら1つのSQLで実現できますか? 例) CDの値が 6・・・・80 150・・・ (81から149は存在しない) という具合に存在していた場合に、101以上で空いている最小の番号 を取得したいのです。 この場合は101です。1が取得されても駄目、81が取得されても駄目です。 また、同じ条件でデータが 6・・・・150 200・・・ (151から199は存在しない) の場合には151が取得したいのです。 このような値を検出するSQLってわかりますか? 以上よろしくお願い致します。
質問日時: 2013/01/08 15:03 質問者: bonnumaman
ベストアンサー
4
0
-
カーソル定義での条件分岐
どなたかご教示下さい。 Oracle PL/SQLにてカーソル定義を下記のように行う場合 SELECT A.* FROM testtable A WHERE A.testID = 123 AND A.testName = 'aiueo' ←このAND条件を場合によって省く 例えば変数Aが0の場合に下記条件を省きたいのです。 AND A.testName = 'aiueo' 可能でしょうか?
質問日時: 2013/01/07 12:38 質問者: taka20
ベストアンサー
1
0
-
Oracle-DBDを使用したPerl起動不可
現在、PerlでOracle-DBDを使用したスクリプトを作成しています。 テストした結果、コマンドプロンプトからの実行は問題ないのですが、 JP1から起動するとデータベースとの接続でエラーになってしまいます。 なにをやっても解消する気配がありません。 コマンドプロンプトからは実行可能なのでスクリプトは問題ないと思っています。 原因と対応方法についてご教授いただけないでしょうか。 宜しくお願います。 以上
質問日時: 2013/01/05 19:53 質問者: aikibon
ベストアンサー
2
0
-
ストアドプロシージャに渡された引数の参照方法
コンパイル済のVB6のプログラムからストアドプロシージャをCALLして いるのですが、実際にどのような値を渡しているのかを調べなければなりません。 VB6の開発環境があれば容易いのですが、現在実行環境しかない為ORACLE側での 調査が必要です。 全てのプロシージャに出力ロジックを追加すれば良いのですが、 数が多すぎて対応に困っております。 ツールや方法論等につきまして、どなたかご存知でしたらご教授頂けると助かります。 環境は以下の通りです。 Client: WindowsXP SP3 VB6で作成したEXE Server: Linux(Red hat linux) ORACLE 11g Standard PL/SQLで作成したStoredProcedure ちなみに、JdeveloperやOracle SQL Developerも調べて見たのですが、 お恥ずかしながら、今一理解が出来ませんでした。
質問日時: 2013/01/04 10:30 質問者: katata
解決済
2
0
-
バインド変数について
PL/SQLのバインド変数について調べていますが理解できず困っています。 [理解内容] 1.利点 :SQL文の検索にバインド変数を利用すると、同一のSQLとして実行できる ⇒ 繰り返し処理(ループ)では有効 2.使用方法 :静的SQL・動的SQLで使用可能 [疑問点] 静的SQLではバインド変数をどう宣言すればよいですか? [SQL*Plus]・[動的SQL]は例文がありました ●SQL*Plusでの宣言方法 (例) SQL> set null '<null>' SQL> set head off SQL> variable var_at_sqlplus number ●動的SQLの記述方法 (例) declare v_sql varchar2(256); v_id varchar2(3); begin v_sql = 'select id into :v_id from test'; execute immediate v_sql into v_id; end; ●静的SQL ・・・【 エラーになる 】 declare variable v_id varchar2(3); begin select id into :v_id from test' end; どんな事でもかまいませんので回答よろしくお願いします
質問日時: 2013/01/02 14:58 質問者: aibanyan
ベストアンサー
2
0
-
別DBのデータをスマートに利用したい
別DBのデータを扱う場合、Oracle同士であれば普通DatabaseLinkという使い道があるかと思いますが・・・別製品のDBの場合調べたところやはりDatabaseLinkのような機能はないようだということがわかりました。 元データがOracleにあるとして別DBのデータをキーで一致させたデータのうち特定条件に適合したものをOracle側に反映させるといったことを検討しています。 なにかいい方法はないでしょうか? よろしくお願いいたします。 (別DB・・・種類が多いのです。対象は、次の6種類です。 MySQL、PostgreSQL、SQLServer、DB2、HiRDB、Symfoware)
質問日時: 2013/01/01 14:53 質問者: mr-r00
ベストアンサー
2
0
-
ORACLEテーブルを作成したSQLを調べたい
バックアップに別サーバに同じORACLEテーブルを作成することとなりました。 どんなSQLでそのテーブルを作成したのか資料が無くてわかりません。 調べる方法を教えてください。よろしくお願いします。
質問日時: 2012/12/26 01:53 質問者: SQLBEGINNER
ベストアンサー
2
0
-
batでsqlplusによる前月データを取得
sqlplusにてbatファイルを起動するだけで前月のデータを取得しようとしていますが、 ネットで検索等してもなかなかうまく行きません。 以下のようにbatファイルを起動すると、常に前月のT_URIのデータを取得させたいのですが、 どのようにすれば宜しいでしょうか?ご教示頂けると助かります。(期間の日付をじかに入力すれば、取得できたのですが、同じように取得したいテーブルが複数あるので) 月初日は常に1日、月末日は常に31日にして、前月をbatファイルかsqlファイル上で計算させる方法はないのでしょうか? (会社の業務でoracleのデータベースから抜き出そうとしています。) SQLPLUS ABCD/ABCD@ORACLE.XYZ.WW @0031_ymd.sql PAUSE ↓0031_ymd.sql set heading on set echo off set underline off set termout off set pause off set pagesize 0 set trimspool on set feedback off set termout off set linesize 1000 set lines 30000 spool D:\hoge.csv SELECT * FROM T_URI S WHERE AND S.KJN_YMD >= yyyymmdd AND S.KJN_YMD <= yyyymmdd
質問日時: 2012/12/24 10:59 質問者: jjmmyy
ベストアンサー
3
0
-
OracleからSQLServer参照時の不具合
DBLINKを使用して、Oracle 10gからSQLServer2005に接続してSQLServer2005のテーブルを参照しています。テーブルデータを参照することはできるのですが、データベースとのセッションを切断してもサーバ上にhsodbcプロセスが解放されずに残る現象が発生しています。 当初は、ストアドプロシージャの不具合と考えていましたが、SQLPLUSでデータを参照した後、SQLPLUSを終了させても プロセスマネージャ上でhsodbcが解放されずに残っていたため、 APの問題ではないと考えています。 DBLINK、Oracleの設定で不備があるような気がするのですが対応策はあるのでしょうか。 お手数ですが回答をお願いします。
質問日時: 2012/12/23 01:01 質問者: aikibon
ベストアンサー
1
0
-
ある単位で集計した最小値を項目に追加したい
あるSQLを実行した結果 ある集計行(X1)が出るとします。 集計行(X1) ------- 12 15 23 24 28 31 45 47 ------- ここで、集計行の左の数字でグルーピングして、その中のもっとも小さい数字を 集計行の横に出すとします。(行数は変わりません) 集計行(X1),項目2 ------- 12 ,12 15 ,12 23 ,23 24 ,23 28 ,23 31 ,31 45 ,45 47 ,45 ------- もとのSQLを 「select X1 from zz where 条件1」 とした場合、どのようにすればこの結果が得られるでしょう?
質問日時: 2012/12/22 00:03 質問者: evaan
ベストアンサー
3
0
-
データベース
こんばんは。 Oracle 11gデータベースのいくつかのテーブルを Microsoft Access 2000のテーブルにコピーしたいのですが お勧めのフリーソフトはございますでしょうか?
質問日時: 2012/12/19 18:26 質問者: shin-cyan
ベストアンサー
1
0
-
INDEXの無効化
Oracle11gを使用しています。 制約と同じようにINDEXも無効化することは出来るのでしょうか。 テーブル名と、フラグ(無効化/有効化)を引数として、制約、INDEXの無効化、有効化 を行うプログラムを作成したいと考えています。 制約は、「ALTER TARBLE テーブル名 DISABLE(又はENABLE ) CONSTRAINT 制約名」 にて無効化、有効化することが出来ますが、INDEXも同じように無効化、有効化することは 出来るのでしょうか? よろしくお願いします。
質問日時: 2012/12/12 23:48 質問者: uemitu
ベストアンサー
1
0
-
PLSQLのNumber型の初期化
はじめまして。 Oracle11gで開発しています。 初歩の初歩の質問なのですが。 下記のように複数のレコードをまとめて、 INSERT先のテーブル(レコードを1個に)に入れ込むまでの処理です。 全てNUMBER型のテーブル列で、NOT NULL制御を施しています。 そのようにすれば、明示的にNULLは無くなり、「0」がデフォルトになると思ったのですが、 「tb_trn_aa_day_r.tx_00」はNULLのままでした。 初期化の「tb_trn_aa_day_r := null;」がまずいのでしょうか? ちなみに、tb_trn_aa_day_r.tx_00~tx_23に「0」をセットしてもなぜか、NULLとなり、 「tb_trn_aa_day_r.tx_sum」が全てNULLとなってしまいます。 初期j化はどのようにすべきでしょうか? よろしくお願いします。 /* Aデータ初期化 */ tb_trn_aa_day_r := null; IF c_aa_data_r.hour = '00' THEN tb_trn_aa_day_r.tx_00 := TO_NUMBER2(c_aa_data_r.tx); ELSIF c_aa_data_r.hour = '01' THEN tb_trn_aa_day_r.tx_01 := TO_NUMBER2(c_aa_data_r.tx); ELSIF c_aa_data_r.hour = '02' THEN tb_trn_aa_day_r.tx_02 := TO_NUMBER2(c_aa_data_r.tx); ELSIF c_aa_data_r.hour = '03' THEN tb_trn_aa_day_r.tx_03 := TO_NUMBER2(c_aa_data_r.tx); ..... ELSIF c_aa_data_r.hour = '23' THEN tb_trn_aa_day_r.tx_23 := TO_NUMBER2(c_aa_data_r.tx); END IF; dbms_output.put_line(tb_trn_aa_day_r.tx_00); /* 集計データ */ tb_trn_aa_day_r.tx_sum := TO_NUMBER2(tb_trn_aa_day_r.tx_sum) + TO_NUMBER2(c_aa_data_r.tx); /* INSERT処理 */ CREATE OR REPLACE function SYNONIM.TO_NUMBER2(str varchar2) return number is begin return to_number(str); exception when others then dbms_output.put_line('TO_NUMBER2 error: ' || SQLERRM); return 0; end; /
質問日時: 2012/12/06 14:31 質問者: bobo29
ベストアンサー
1
0
-
Visual Basic 2010
VisualBasic 2010 よりOracle7へ接続しようと考えております。 ※普通ならばOracleのバージョンを上げたほうがよいのは理解しています。 上記の接続方法としてどのようなものがありますでしょうか?。 現在はODBCで接続していますが、接続が遅くて改善できないものかと悩んでおります。 どなたかODBCよりも早く接続できる方法をご存知に方がいらっしゃいましたら ご教授お願い致します。
質問日時: 2012/12/06 09:47 質問者: 19820202
ベストアンサー
3
0
-
SQL(oracle)でご助言いただきたく。
oracle sql developer(Version 1.5.1 )を使用してsqlを叩いてもエラーが出てくるので ご助言いただきたく思います。 update table set comment = '新規' where code = '111'; 上記のSQL文を実行すると、ora-01747のエラーが出ます。 commentという名前のカラムですが、 ここを別のカラムmailにして実行するとうまくいきます。 カラムの型は以下の通りです。 comment : varchar2(500 BYTE) mail : varchar2(128 BYTE) 唯一気がかりなのは、通常ならば update,set,where だけが濃い青色で表示されるのですが、 commentもなぜか濃い青色で表示されます。 (mailは濃い青色になりません。) ご助言の程、宜しくお願い致します。
質問日時: 2012/12/04 18:44 質問者: torajiro123
ベストアンサー
3
0
-
SQL MIN句
テーブルには複数の主キーがあり、そのうちの3つの主キーを元に 最も古い日付の情報を取得したいです。 同じデータが複数あるので、副問い合わせ(=)でエラーになると思ったのですが エラーにならずにすべてのデータが取得されてしまいます。 テーブル id name sex date1 1 'A' '男' 20120101 1 'A' '男' 20120101 2 'A' '女' 20120102 select * from table where date1 = (select min(date1) from table where id = 1 and name = 'A' and sex='男'); 下記のような情報を取得するには、SQLとして間違えておりますでしょうか。 ↓ id name sex date1 1 'A' '男' 20120101 1 'A' '男' 20120101 お分かりの方、ご教授頂けませんでしょうか。 以上、よろしくお願い致します。
質問日時: 2012/12/03 19:43 質問者: NeilMania
解決済
3
0
-
Oracleのデータをマージする
以前、MySQLでのマージ方法について質問した者です。 今度は、Oracleでのマージ方法ですが、 重複行が発生して困っております。 状況としては、スキーマが二つあります。db1とdb2です。 それぞれ、同じ構造のテーブルを持っていて、格納しているデータだけが違います。 db1にdb2をマージしようとしているのですが、上手くいきません。(重複行が発生します) 方法として、以下の2パターンを試行しました。 (1)インポート db1をインポートした後に、同じスキーマにdb2からのダンプファイルでインポート (2)ダイレクトパスインサート insert/*+ APPEND */ into db1.myTable (SELECT * FROM db2,myTable);. 以下は当方の使用環境です。 Windows7 Pro 64Bit Oracle11g Standard Edition 他に必要な情報があればお聞かせください。 よろしくお願いします。
質問日時: 2012/11/29 19:05 質問者: freeradical
ベストアンサー
1
0
-
oracle 11gの基準日について
現在、visual studio2010の環境で、oracle 11gのDBに接続を行っています。 その時、Date型の日付を取得しているのですが、DB上登録されているのに値が空白になっていました。 日付が、1990年以降であれば問題ないのですが、たまたま、1899年代の日付が設定されているデータでした。 oracle 11gでは、1990年以前は、サポートしていないのでしょうか? よろしくお願いいたしす。
質問日時: 2012/11/28 22:05 質問者: yasu0818
ベストアンサー
1
0
-
Oracleのエラースタックトレース設定について
お世話になっております。 件名のエラースタック設定について質問があります。 OSはwindows。 oracleのバージョンは11gです。 現在、複数のeventを設定しようと考えておりまして、以下のようなSQLを実行しました。 (仮として1111と2222のエラースタックを設定すると想定します。) ・alter system set event = "1111 trace name errorstack level 3:2222 trace name errorstack level 3" scope=spfile; 上記のSQLを実行後、下記のSQLにて設定を確認しました。 ・select name,value,display_value,isspecified,ordinal from v$spparameter where name='event'; 出力結果のvalueおよびdisplay_valueに「1111 trace name errorstack level 3:2222 trace name errorstack level 3」と表示されているのですが、これは正しく1111と2222のエラースタックが設定されたということで宜しいのでしょうか? 宜しくお願いします。
質問日時: 2012/11/20 00:58 質問者: berserk_00
ベストアンサー
1
0
-
PL/SQL 実行中のSID
自作のストアドプロシージャのどの関数がいつ呼ばれたかを記録したいと思いました。 例えば FUNC_A という関数があって、その関数の先頭で、その関数を実行しているセッションのSIDと関数名を取得できないものでしょうか。 そのようなパッケージ DBMS_**** みたいなものがあって、下記のような感じで使えたらなあと考えています。 ------------------ FUNC_A IS sid NUMBER; funcName VARCHAR2(30); BEGIN SELECT DBMS_****.GET_EXECUTING_SID INTO sid FROM DUAL; SELECT DBMS_****.GET_CURRENT_FUNC INTO funcName FROM DUAL; ... (sid と funcName を現時刻とともに記録) END; ------------------ このような目的に合致したパッケージ、あるいはこの目的を実現する方法などありますでしょうか。 よろしくお願いします
質問日時: 2012/11/19 11:00 質問者: shingo-numtech
ベストアンサー
3
0
-
SQL 前日分と相違があればアラート その2
いつもお世話になっております。 以前下記についてお伺いいたしました。 今回はその続編です。 http://oshiete.goo.ne.jp/qa/7772587.html 何卒ご教授ください。 よろしくお願いいたします。 例えば下記のようなテーブルがあるとします。 【運賃テーブル】 日付 出発 到着 運賃 10月1日 東京 青森 8000円 10月1日 東京 大阪 5000円 10月1日 東京 福岡 8000円 10月1日 青森 大阪 6000円 10月1日 青森 福岡 9500円 10月1日 大阪 福岡 5000円 10月1日 大阪 青森 9800円 10月2日 東京 青森 null 10月2日 東京 大阪 5000円 10月2日 東京 福岡 8500円 10月2日 青森 大阪 6000円 10月2日 青森 福岡 9500円 10月2日 大阪 福岡 null 10月2日 大阪 青森 9000円 10月3日 東京 青森 8000円 10月3日 東京 大阪 5000円 10月2日 東京 福岡 8500円 10月2日 青森 大阪 6000円 10月2日 青森 福岡 9500円 10月2日 大阪 福岡 5500円 10月2日 大阪 青森 9000円 仮に運賃を日付で比較した場合(上記を水平展開した場合) 下記のようになります。 【運賃比較】 10月1日 10月2日 10月3日 東京 青森 8000円 ------ 8000円 東京 大阪 5000円 5000円 5000円 東京 福岡 8000円 8500円 8500円 青森 大阪 6000円 6000円 6000円 青森 福岡 9500円 9500円 9500円 大阪 福岡 5000円 ------ 5500円 大阪 青森 9800円 9000円 9000円 ここからが前回と違うのですが 上記の場合、nullがあったら、さらにその前日と 比較する方法を教えていただきたいのです。 ※ 最悪、比較データがない場合、過去1週間前 までさかのぼる必要がでることもありえます。 つまり上記でいえば 10月3日の料金は前日値と比べ… 【運賃変更】 東京 青森 変更なし 東京 大阪 変更なし 東京 福岡 変更なし 青森 大阪 変更なし 青森 福岡 変更なし 大阪 福岡 変更あり 大阪 青森 変更なし もしくは 大阪 福岡 変更あり の様に、「大阪 福岡」に変更があったことを アラート表示させたいのです。 【その他条件】 ・このSQLコードは毎日回します ・前日にもデータがなく、前々日のデータと 比較しなくてはならないこともあります。 もしくは過去1週間ほどさかのぼらないと 比較対象のデータがないこともあります。 ・case文を使って【運賃比較】の様なテーブルを作り ローカルでVBA等で比較させることも考えましたが データが大量すぎて、その方法は使えませんでした。 ・【運賃テーブル】の様な状態でデータをexportし それをローカルのExcelでピボットをかけるという方法も 同様な理由で不可能でした。 何卒よろしくお願いいたします。
質問日時: 2012/11/17 13:30 質問者: ice1982
ベストアンサー
5
0
-
クローンデータベース作成に関して
サーバーAでOracleデーターベース(10g)が稼働しています(インスタンスは1つ)。 サーバーBに全く同じデータベースインスタンスを構築することを考えています。 サーバーBにはOracleはインスト済みです。 データだけを移すなら expdp/impdb を使ってスキーマ別に移すところですが、 データベースの様々な設定: アーカイブログの設定やSGAのサイズ等など、、、 も完全に同じものを構築したいと思っています。 ----------------------- 1. DBCA を使用 サーバーAでDBCAを使って、既存インスタンスからテンプレートを作成します。 次にそのファイルをサーバーBに移して、サーバーB上でDBCAを使って当該テンプレートからインスタンス作成 => この方法を一度試したのですが、よくわからない点がありました。テンプレートを使っている割には、インスタンス生成の各種パラメータを入力せねばなりません。入力した設定は無視されてテンプレートの値が使われるのでしょうか?それとも、入力した内容が優先されるのでしょうか?あるいはこの方法ではインスタンス生成のパラメータは移せないのでしょうか? 2. expdp/impdp でFULL=Y データベースをまるごとコピーというならこの方法でもいい気がしますが、まずはサーバーB上にインスタンスを作ってからimpdpをすることになると思います。 するとインスタンスの設定は移されないということになるのでしょうか? 3. その他の方法 何かもっと有効な方法がありますか? ------------------------------------- 何卒ご教示のほどをお願いします。
質問日時: 2012/11/13 13:58 質問者: shingo-numtech
ベストアンサー
1
0
-
SQLでご助言いただきたく。
テーブル名:AAA カラム: 'fname' ,ename テーブル名:BBB カラム: "id",fcode テーブル名:CCC カラム : "id",'fname',date 上記三つのテーブルAAA,BBB,CCCにそれぞれカラムがあります。 最終的に ename fcode date の3カラムを結合した状態でSELECTします。 ただし、条件として AAAのfname列とCCCのfname列を紐付けし、尚且つ BBBのid列とCCCのid列を紐付けし、尚且つ CCCのdate列が2012-10-31以上のものだけをSELECTしたいです。 上記を踏まえて下記二点ご質問致します。 (1)私が考えたSQL文は select a.ename ,bc.fcode ,bc.date from AAA a , (select b.fcode ,c.fname ,c.date from BBB b , CCC c where b.id = c.id and c.date >= '2012-10-31' ) bc where a.fname = bc.fname ; です。先にBBBとCCCから紐付けしその結果とAAAを紐付けしています。 このSQL文で間違いがないかどうか判定していただきたく。 (2)もっとスマートな書き方(短く書けるなど)がありましたら、 ご助言いただきたく。 ちなみにデータベースはオラクル仕様です。 宜しくお願い致します。
質問日時: 2012/11/08 10:02 質問者: torajiro123
ベストアンサー
1
0
-
カーソル0件の時にエラーを発生させる
以下の処理をしようと考えています。 Aテーブルをカーソルで検索 →0件だった場合にはエラー ・・・ (1) →データが入っていた場合には処理 →カーソルのデータがなくなったら処理を正常終了 カーソルに入っているデータが0件だった場合、Oracle上ではエラーとはみなされず、処理が正常終了してしまいます。 カーソルデータが0件だった場合にエラーを発生させるにはどのようにコーディングすればよいですか?
質問日時: 2012/11/07 22:12 質問者: m0123456789
ベストアンサー
2
0
-
Oracleのmargeについて
こんにちは。Oracle11を使ってます。 大規模システムで大容量のテーブルを毎日バッチで取込む必要が出てきました。 そのテーブル自体カラムが30前後で、4000万件あります。 その処理時間に頭を悩ませていましたら、MERGE句に巡りあいました。 AテーブルからBテーブルに入れるのですが、列定義(Colum数も全く違う列も存在)が若干違うのですが、それでもこれを使うことは可能でしょうか? A B ----- ----- A1 B1 A2 A2 A3 A3 A4 A6 A5 - またべたのやり方ですと、Aテーブルを全件ループして、PK連結させて、Select-Insert or Select-Updateになると思うのですが、やはりデータがほとんど同じ場合と全件全部違う場合は、処理時間も軽減されるのでしょうか?
質問日時: 2012/11/03 01:59 質問者: bobo29
ベストアンサー
3
0
-
SQL 前日分と相違があればアラート
いつもお世話になっております。 表題の件について教えてください。 使用SQL:Oracle 例えば下記のようなテーブルがあるとします。 【運賃テーブル】 日付 出発 到着 運賃 10月1日 東京 青森 8000円 10月1日 東京 大阪 5000円 10月1日 東京 福岡 8000円 10月1日 青森 大阪 6000円 10月1日 青森 福岡 9500円 10月1日 大阪 福岡 5000円 10月1日 大阪 青森 9800円 10月2日 東京 青森 8000円 10月2日 東京 大阪 5000円 10月2日 東京 福岡 8500円 10月2日 青森 大阪 6000円 10月2日 青森 福岡 9500円 10月2日 大阪 福岡 5000円 10月2日 大阪 青森 9000円 仮に運賃を日付で比較した場合、下記のようになります。 【運賃比較】 10月1日 10月2日 東京 青森 8000円 8000円 東京 大阪 5000円 5000円 東京 福岡 8000円 8500円 青森 大阪 6000円 6000円 青森 福岡 9500円 9500円 大阪 福岡 5000円 5000円 大阪 青森 9800円 9000円 この場合、値上がりがあったら、下記の様に 値上がり(値下がり)があった路線について一目で分かる SQLコードはどの様にかけば良いのか教えてください。 【運賃変更】 出発 到着 10月1日 10月2日 東京 福岡 8000円 8500円 大阪 青森 9800円 9000円 もし上記が可能であるならば、【運賃比較】テーブルの様に データを選択剃る方法についてもご教授ください。 よろしくお願いいたします。
質問日時: 2012/10/29 22:00 質問者: ice1982
ベストアンサー
1
0
-
01722 数値が無効です
ドラえもん 2012-10-29(月) 10:30 ホームページで公開されていたVBAを流用して、EXCELからデータベースの更新、削除をしようとしています。 データベースの更新に関してはうまく動作するのですが、データ削除を実施すると、 440)データをフェッチ中にエラーが発生しました。ORA-01722数値が無効です。 というエラーが発生してしまいます。 01722のエラー内容をホームページ並びに、本サイトで検索したのですが、 データの型が違うという内容で、類似の内容が無い状況でした。 型が違うという内容に対して、何をどうしたらよいかが分かりません。 コーディングのミスを指摘いただきたく よろしくお願いいたします。 VBAまったくの初心者です。 下記は、マクロの構成です。 (1)B3からR***の領域にデータベースからダウンロードしたデータが表示される。 ***は列数でデータベースの項目数で変化する (2)B2からR2には項目名称が表示されている。 (3)編集用の領域はT2からAJ2に(2)と同じ項目名を表示する。 (4)編集用のデータ領域はT3からAJ20まで。 ※ID並びにパスワードは実際のものから変更しています。 ORACLE9.0 EXCEL2003 ------------------------------------------------------------- '「データの削除」ボタン押下後の処理 ' oo4o使用時 Private Sub btnDeleteDataoo4o_Click() On Error GoTo ERR_HANDLER 'oo4o用のオブジェクト変数の宣言 Dim OraSession As Object 'セッション Dim OraDatabase As Object 'データベース Dim rs As Object 'データセット(レコードセット) Dim rownum As Long Dim colnum As Integer Dim sSQL As String '削除対象のみを抽出するSQL文の作成 sSQL = "select * from M_TOOL_MEISAI where LINECD=" & ActiveSheet.Cells(3, 20) For rownum = 4 To 20 If ActiveSheet.Cells(rownum, 20) = "" Then Exit For End If sSQL = sSQL & " OR LINECD=" & ActiveSheet.Cells(rownum, 20) Next 'oo4oセッションオブジェクトの生成 Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'oo4oデータベースオブジェクトの生成(DBへUserID:○、パスワード:×で接続) Set OraDatabase = OraSession.OpenDatabase(ActiveSheet.Cells(26, 1), "○/×", 0&) 'oo4oデータセット(レコードセット)の生成(削除対象データのみを返すレコードセットの生成) Set rs = OraDatabase.CreateDynaset(sSQL, 0&) 'レコードセット内の全レコードの削除 Do Until rs.EOF rs.Delete rs.MoveNext Loop 'オブジェクトのクローズ rs.Close 'データ表示の更新 btnGetDataoo4o_Click QUIT_OPER: 'オブジェクト変数用に確保したメモリの開放 Set rs = Nothing Set OraDatabase = Nothing Set OraSession = Nothing Exit Sub ERR_HANDLER: 'エラー処理 'エラー番号とエラー内容の表示 MsgBox Err.Number & ")" & Err.Description Err.Clear GoTo QUIT_OPER End Sub ------------------------------------------------------------------------------- 以上がエラーが発生するVBA 下記は、更新処理で正しく動作するVBA ------------------------------------------------------------------------------- '「データの更新」ボタン押下後の処理 ' oo4o使用時 Private Sub btnUpdateDataoo4o_Click() On Error GoTo ERR_HANDLER 'oo4o用のオブジェクト変数の宣言 Dim OraSession As Object 'セッション Dim OraDatabase As Object 'データベース Dim rs As Object 'データセット(レコードセット) Dim rownum As Long Dim colnum As Integer 'oo4oセッションオブジェクトの生成 Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'oo4oデータベースオブジェクトの生成(DBへUserID:○、パスワード:×で接続) Set OraDatabase = OraSession.OpenDatabase(ActiveSheet.Cells(26, 1), "○/×", 0&) 'oo4oデータセット(レコードセット)の生成(全データを返すレコードセットの生成) Set rs = OraDatabase.CreateDynaset("select * from M_TOOL_MEISAI", 0&) 'データの更新 For rownum = 3 To 20 If ActiveSheet.Cells(rownum, 20) = "" Then Exit For End If '更新対象データの検索 rs.Findfirst ("LINECD=" & ActiveSheet.Cells(rownum, 20)) '編集モードに設定 rs.Edit For colnum = 1 To rs.Fields.Count - 1 Select Case rs(colnum).Type Case 10 rs(colnum).Value = ActiveSheet.Cells(rownum, colnum + 20) Case 8 rs(colnum).Value = CDate(ActiveSheet.Cells(rownum, colnum + 20)) Case Else rs(colnum).Value = ActiveSheet.Cells(rownum, colnum + 20) End Select Next rs.Update Next 'オブジェクトのクローズ rs.Close 'データ表示の更新 btnGetDataADO_Click QUIT_OPER: 'オブジェクト変数用に確保したメモリの開放 Set rs = Nothing Set OraDatabase = Nothing Set OraSession = Nothing Exit Sub ERR_HANDLER: 'エラー処理 'エラー番号とエラー内容の表示 MsgBox Err.Number & ")" & Err.Description Err.Clear GoTo QUIT_OPER End Sub
質問日時: 2012/10/29 15:49 質問者: 3620313
解決済
1
0
-
OracleMaster勉強中、OEMが起動しない
現在、「1週間で学べるORACLE MASTERの基礎が学べる本」という本を片手にORACLEを初めて触っております。 お恥ずかしい話、2日目の「OEM起動」でつまづいて先に勧めませんので、是非お知恵をお貸しください。 現在作業はVM環境にWin7 x64bitをインストールしホストオンリー環境で構築しています。 テキストでは推奨環境に以下の手順で操作をすすめています。 ネットワーク環境を構築(Loopback アダプタ追加 IP10.10.10.10,GW 255.255.255.0 hosts ファイルにて←の名前解決を追記) 再起動 Oracle11gをインストール リスナーの作成 → DBの作成 ○ここでエラーになります。 DBの削除 OEMの起動 ・ ・ ・ DB作成をしている最中に以下のようなエラーがでます。 !警告 次のエラーが原因でEnterprise Managerの構成に失敗しました 構成データのリポジトリへのアップロード中にエラーが発生しました。 詳細は ..\dbca/orc/emConfig.logにあるログファイルを参照してください。 ..bin/emcaスクリプトを手動で実行することにより、後でEnterprise Managerを使用してこのデータベースの構成を再試行できます。 ※パスは割愛 裏では別ウインドウで正しくDBを作成できましたとあるので、このエラーを無視してOEMの起動まですすめると、 https://localhost:1158/emでOEMにつなごうとした時にサイトが表示できないとエラーになってしまいます。 この時、テキストには ・Loopbackアダプターの構成されているか ・リスナーが開始されているか ・dbconsoleプロセスが起動しているか を確認しろとあったので、Loopbackアダプタ、リスナーの開始については問題ないことを確認。 ORACLE_SIDを設定し、dbconsoleを確認しようと emcl status dbsonsoleと入れたところ、 Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name. というエラーが表示されて手詰まり状態です。 set ORACLE_UNQNAMEとありましたので、orclをsetしてみましたが、エラーメッセージが変わっただけで問題解決にいたりません。 是非、この問題について何かわかればよろしくお願いいたします。
質問日時: 2012/10/22 18:56 質問者: naana2
ベストアンサー
1
0
-
オラクルの条件で時間を指定する方法
オラクルの条件で時間を指定する方法と格闘中です。 ログのようなデータがたくさんあってそこから、 18時~翌2時のデータはいくつあるか。 というSQL文を書きたいのですが、 うまくいきません。以下のようなSQLなのですが、 どなたかアドバイスいただけないでしょうか? SELECT COUNT(*) as CNT, ID FROM テーブル名 WHERE TO_DATE(DATE型カラム, 'HH24:MI') >= '18:00' AND TO_DATE(DATE型カラム, 'HH24:MI') < '02:00' GROUP BY ID ORDER BY CNT; ちなみにこんなエラーが出ています。 SQLエラー: ORA-01843: 指定した月が無効です。 よろしくお願いいたします。
質問日時: 2012/10/18 14:41 質問者: duowhite
ベストアンサー
1
0
-
トレースファイルの削除スクリプト
trcファイルを削除する(n日分削除する)スクリプトを作成したいのですが、オラクルユーザにならないと /u01/oracle/diag/rdbms配下へアクセスできません。 スクリプトで(ルートユーザでない)ここのディレクトリへアクセスさせるには何か方法はないでしょうか?
質問日時: 2012/10/14 20:14 質問者: devid
ベストアンサー
4
0
-
oracleのSQLパフォーマンスについて
oracleのSQLパフォーマンスについて質問です。 当方、SQLは初めてで、ずぶの素人ですが、SQLパフォーマンスを改善することになりました。 質問の仕方も悪いとは思いますが、お力添えをいただきたいと思います。 【質問1】 DBのレコード件数は、SQLパフォーマンスにどう影響するでしょうか?以下例のようなことが知りたいです。 例1 INDEXのないテーブルに対しSQLを発行する場合、レコード件数の多いDBとレコード件数の少ないDBでは、レコード件数が少ない方が、パフォーマンスが良い? (前提として、検索対象DBは、レコード件数以外に差がないとする) 例2 WHERE句にINDEX項目を使用した場合、DBのレコード件数はパフォーマンスに影響しない (前提として、アクセスパスは適切で、検索対象をうまく絞り込むことができる) 例3 WHERE句にINDEX項目を使用したSQLをレコード件数の多いDBに発行する場合と、WHERE句にINDEX項目がないSQLをレコード件数の少ないDBに発行する場合では、どちらがパフォーマンスがよいのか (前提として検索対象DBは、レコード件数以外に差がないとする) 【質問2】 INDEXをDBに追加すると、INSERT、UPDATE、DELETEの際に、どのくらい影響するのでしょうか? 対象のDBは、5項目あり、400万件くらいのレコードがあります。また、複合項目(2項目)のプライマリキーと、単一INDEXがついており、新たに3項目の複合INDEXを追加しようとしています。 以上、よろしくお願いいたします。
質問日時: 2012/10/14 14:51 質問者: nanageragera
解決済
1
0
-
OracleのSQLについて 助けてください。
OracleのSQLについて 助けてください。 (例) テーブルA 「human」 | ID | 名前 | テーブルB 「kotoba」 | ID | 名前 | テーブルC 「kakutougi」 | ID | 名前 | テーブルD 「kotoba_have」 | human.ID | kotoba.ID | テーブルE 「kakutougi_have」 | human.ID | kakutougi.ID | テーブルAには一人一人のIDと名前が入っています。 テーブルBには言語の種類IDと種類名(英語、日本語など)が入っています テーブルCには格闘技の種類IDと種類名が入っています。 テーブルDとテーブルEはその人がどの言語がしゃべれ、どの格闘技ができるかを示しています。 テーブルD、Eはその人が複数の言語が話せ、複数の格闘技ができる場合複数のhuman.IDが入ります。 ここで日本語と英語が話せ、柔道と空手ができる人を呼び出したい場合はどのようなSQLにすればよいのでしょうか。 プログラムでwhileで回してはできるのですが、データ量が膨大のためSQLでどうにかしたいのですがわかる方いらっしゃいますでしょうか? 助けてください。よろしくお願いします。
質問日時: 2012/09/25 23:30 質問者: atuuuuu02
解決済
5
0
-
oracleユーザーの権限確認方法について
お世話になります。 例えばですが、oracleでsysユーザからaaaというユーザーを作成し、 selectやcreateなどの権限を付与したとします。 そこでaaaユーザーでログインして、aaaユーザーが行うことのできる 権限を調べたいと思ったのですが、いまいちわかりません…。 (1)select * from session_privs; ではcreate系の権限は表示されますが、select系(DML文)の権限が何を付与されているか表示されませんでした。 (2)select * from user_sys_privs; でもselect等の権限の確認はできませんでした。 (3)select * from user_tab_privs; では一件も出てきませんでした。 上記3つは何か間違えているのでしょうか? それとも他にも何か調べ方があるのでしょうか? よろしくお願い致します。
質問日時: 2012/09/24 21:47 質問者: pieroplus
解決済
1
0
【データベース】に関するカテゴリ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Oracle】に関するコラム/記事
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
YOGA Tab 3 10の音声通話について
-
Oracleですがsqlで質問です。 サブ...
-
sqlで質問です。 idを元にidに紐付...
-
sqlのupdate文で質問です。 テーブ...
-
update文で質問です。 下記の条件で...
-
テーブルやカラムの物理名のネーミ...
-
batファイルでのSQL(oracle)実行...
-
バッチファイルで複数フォルダ毎の...
-
PL/SQLの変数の命名規則
-
子供向けプログラミングのスクラッ...
-
10営業日前の日付を取得したい(修正)
-
オラクル12C_SQLPlusで実行するSQL...
-
sqlで質問です。 Aテーブルは店番、...
-
SQLの中上級者へのレベルアップ方法...
-
SELECTによる表の変換方法を教えて...
-
開発対象となるアプリケーションの...
-
質問です。 下記のテーブルとデータ...
-
sqlで質問です。 Aテーブルの登録番...
-
sqlで質問です。 Aテーブルの情報を...
-
SQLの書き方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
副問合せにLIKE文を使う方法はない...
-
osqleditについて
-
batファイルでのSQL(oracle)実行...
-
バッチファイルで複数フォルダ毎の...
-
テーブルやカラムの物理名のネーミ...
-
SQLの中上級者へのレベルアップ方法...
-
orace SQL文のエラー(ORA-00923: F...
-
64bit端末でのOLEDB接続に関して
-
データベースのカラムの型がCHAR型...
-
ORA-14452について
-
update文で質問です。 下記の条件で...
-
Object Browser相関タブの見方が知...
-
ワークテーブルって何?
-
oracleで 10,20, 30, というデータ...
-
Oracleで文字列型の時間を引き算し...
-
オラクル12C_SQLPlusで実行するSQL...
-
oracleの直接接続のクライアント接...
-
sqlで質問です。 Aテーブルの情報を...
-
SQL update方法
-
Oracle 動的SQLでエラー
おすすめ情報