k_o_r_o_c_h_a_n の回答履歴
- ストアドプロシージャに渡された引数の参照方法
コンパイル済のVB6のプログラムからストアドプロシージャをCALLして いるのですが、実際にどのような値を渡しているのかを調べなければなりません。 VB6の開発環境があれば容易いのですが、現在実行環境しかない為ORACLE側での 調査が必要です。 全てのプロシージャに出力ロジックを追加すれば良いのですが、 数が多すぎて対応に困っております。 ツールや方法論等につきまして、どなたかご存知でしたらご教授頂けると助かります。 環境は以下の通りです。 Client: WindowsXP SP3 VB6で作成したEXE Server: Linux(Red hat linux) ORACLE 11g Standard PL/SQLで作成したStoredProcedure ちなみに、JdeveloperやOracle SQL Developerも調べて見たのですが、 お恥ずかしながら、今一理解が出来ませんでした。
- Oracle-DBDを使用したPerl起動不可
現在、PerlでOracle-DBDを使用したスクリプトを作成しています。 テストした結果、コマンドプロンプトからの実行は問題ないのですが、 JP1から起動するとデータベースとの接続でエラーになってしまいます。 なにをやっても解消する気配がありません。 コマンドプロンプトからは実行可能なのでスクリプトは問題ないと思っています。 原因と対応方法についてご教授いただけないでしょうか。 宜しくお願います。 以上
- ストアドプロシージャに渡された引数の参照方法
コンパイル済のVB6のプログラムからストアドプロシージャをCALLして いるのですが、実際にどのような値を渡しているのかを調べなければなりません。 VB6の開発環境があれば容易いのですが、現在実行環境しかない為ORACLE側での 調査が必要です。 全てのプロシージャに出力ロジックを追加すれば良いのですが、 数が多すぎて対応に困っております。 ツールや方法論等につきまして、どなたかご存知でしたらご教授頂けると助かります。 環境は以下の通りです。 Client: WindowsXP SP3 VB6で作成したEXE Server: Linux(Red hat linux) ORACLE 11g Standard PL/SQLで作成したStoredProcedure ちなみに、JdeveloperやOracle SQL Developerも調べて見たのですが、 お恥ずかしながら、今一理解が出来ませんでした。
- 別DBのデータをスマートに利用したい
別DBのデータを扱う場合、Oracle同士であれば普通DatabaseLinkという使い道があるかと思いますが・・・別製品のDBの場合調べたところやはりDatabaseLinkのような機能はないようだということがわかりました。 元データがOracleにあるとして別DBのデータをキーで一致させたデータのうち特定条件に適合したものをOracle側に反映させるといったことを検討しています。 なにかいい方法はないでしょうか? よろしくお願いいたします。 (別DB・・・種類が多いのです。対象は、次の6種類です。 MySQL、PostgreSQL、SQLServer、DB2、HiRDB、Symfoware)
- 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
- ある単位で集計した最小値を項目に追加したい
ある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」 とした場合、どのようにすればこの結果が得られるでしょう?
- ある単位で集計した最小値を項目に追加したい
ある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」 とした場合、どのようにすればこの結果が得られるでしょう?
- Oracleのプロシージャについて
Oracleのプロシージャについて教えてください。 現在、Aテーブル(カラム1、カラム2、カラム3、カラム4):件数40万件 Bテーブル(カラムA、カラムB、カラムC):件数50件 と言うテーブルがあります。 この中でデータ置換を行う必要があり、 Aテーブルのカラム2とBテーブルのカラムBが一致したらAテーブルの カラム3にBテーブルのカラムCで更新するプロシージャを作成しています。 通常のUpdate文で3000件単位でCommitを切るようにしていますが時間がかかります。 皆さんはこういう場合どういう手法でやられていますか? ご教授ください。 ちなみに、 サーバOS:Windows2008SERVER クライアントOS:Windows7 Oracle11 です。
- ベストアンサー
- Oracle
- izaizayoiyoi
- 回答数2
- データベース初心者ですm(__)m
SQLの勉強をしています。 それで自分のパソコンでSQLの練習ができるようにしたいのですが… オラクルのページに行って10g?11g?をインストールしろってウェブに書いてあるのですが… 優しい方手順を教えてくださいm(__)m 回答お願い致しますm(__)m
- SQLにて縦を横へ展開
[注文表] 注文番号 注文商品 注文金額 ======================= 111 あああ 5500 222 いいい 3000 [注文オプション表] 注文番号 オプション ================ 111 P1 111 P2 222 D1 上記のようなテーブルがあります。 これを下記のようにSQLでまとめたいですが可能でしょうか。 もしありましたら、サンプルSQLをご教示いただけませんでしょうか。 [注文一覧] 注文番号 注文商品 注文金額 オプション1 オプション2 ====================================================== 111 あああ 5500 P1 P2 222 いいい 3000 D1 お手数をお掛けしますが、なにとぞよろしくお願いいたします。
- oracle10g eucのblobをsjisのcharに変換したい
oracle10g eucのblobをsjisのcharに変換したい oracle10gでblob型でeuc_jpの文字列を格納しています これをshift_jisのvarchar2に変換したいのですが 無理でしょうか? utl_raw.cast_to_nvarchar2では文字化けしました
- 締切済み
- Oracle
- jqa56thaegh
- 回答数1
- ORACLE DBへ初期化していない領域のレコードを
ORACLE DBへ初期化していない領域のレコードを INSERTで追加した場合、どのような値のデータ(文字コード)が 格納されるのでしょうか?
- SQLの作り方についてご教授下さい。
SQLの作り方についてご教授下さい。 以下のようなDB及び条件があるとします。 ・DB ---------------------- No フラグ 金額 1 1 100 2 0 200 3 0 700 3 1 500 3 1 400 ---------------------- ・抽出条件 フラグが1である物のみ抽出対象とします。 同一Noについては、1件しか出力しません。その1件の決め方は フラグが1である事が前提で、金額が大きい物を取得します。 上記の抽出したい結果 ------------------ No フラグ 金額 1 1 100 3 1 500 ------------------ これを取得するSQLの作成方法が分かりません。 どのように作成すれば良いでしょうか?
- SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について お世話になります。 SQLローダーでCSV取込を行っています。 設定は下記のようになっており、区切り文字はコンマ 囲み文字はダブルコーテーションを指定しています。 LOAD DATA TRUNCATE CONTINUEIF LAST != '"' INTO TABLE WORKTABLE FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( data1 char, data2 char, data3 char ) このように取り込んだところ、下記のような行でエラーが発生しました。 「"data1","data2",""文字列,文字列""」 どうやら元々ダブルコーテーションで囲まれていたデータが CSV出力時にもう1度囲まれた状態のようです。 エラー内容 「TERMINATEDとENCLOSEDフィールドに続く終了記号がありません。」 原因はダブルコートであることはわかっています。 色々試したのですが、うまくいきません。 このデータをうまく取り込む方法はあるのでしょうか よろしくお願いいたします。
- SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について お世話になります。 SQLローダーでCSV取込を行っています。 設定は下記のようになっており、区切り文字はコンマ 囲み文字はダブルコーテーションを指定しています。 LOAD DATA TRUNCATE CONTINUEIF LAST != '"' INTO TABLE WORKTABLE FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( data1 char, data2 char, data3 char ) このように取り込んだところ、下記のような行でエラーが発生しました。 「"data1","data2",""文字列,文字列""」 どうやら元々ダブルコーテーションで囲まれていたデータが CSV出力時にもう1度囲まれた状態のようです。 エラー内容 「TERMINATEDとENCLOSEDフィールドに続く終了記号がありません。」 原因はダブルコートであることはわかっています。 色々試したのですが、うまくいきません。 このデータをうまく取り込む方法はあるのでしょうか よろしくお願いいたします。
- Group By を使用して任意のカラムの最大値のデータを取得する。
Group By を使用して任意のカラムの最大値のデータを取得する。 次のようなテーブルデータがあるとします。 ID 店舗CD 適用日付 A001 101 20100701 A002 101 20100801 A003 101 20100901 B001 102 20100701 B002 102 20100801 B003 102 20100901 抽出イメージですが、このテーブルデータの店舗コードをGroupByして、MAX(適用日付) としたときにIDが取得できなくなります。 なのでGroupByしたときの日付最大値のデータのIDを取得したいのですがいい方法が浮かびません。 同じテーブルデータでGroupBy(店舗コード)、MAX(適用日付)としたサブクエリを(店舗CD=店舗CD)、(適用日付=適用日付)とInnerJoinする方法も考えましたが、万が一、適用日付と店舗CDが同一のものがあった場合、店舗CDが重複してしまいます。 各店舗CDの最大適用日付のID取得したいのです。 なのでイメージはGroupby(店舗CD)とMAX(適用日付)とした時にMAX(適用日付)のIDを取得し、 なおかつ欲をいえば、MAX(適用日付)のIDが複数存在する場合は、1店舗CDにつき一つの適用日付を取得したいです。(この際、IDはなんでもいいです。) 簡単そうなことですごく悩んでいます。 どなたか助けてください。 よろしくお願いします。
- Sql developerについての質問
Sql developerについての質問 いつもお世話になります。 私はオラクル初心者で、オラクル11gを使用しています。 現在、Sql developerでpl/sql(ストアドプロシージャー)を 作成しています。 そして、躓いておりますのは、select内の構文で条件式を書いて いるのですが、そこでコンパイルエラーになってしまっています。 オラクルは、ifではなくdecodeを使うのか、又は条件式の内容が悪いのか 又は長すぎるのかご教示頂きたく、宜しくお願い致します。 記 decode ((a.最大在庫-(b.場内在庫-b.引当数量))>0, a.最大在庫-((TRUNC(b.場内在庫/b.入数,0))*b.入数)AS 補充数量,'-'), (a.最大在庫-(a.最大在庫-((TRUNC(b.場内在庫/b.入数,0))*b.入数))) AS 補充梱包数量,
- Postfixで外部にメール送信ができません。
Postfixで外部にメール送信ができません。 お世話になります。いろいろなサイトやブログを参考に、自宅サーバーにPostfixを入れ、メールサーバーを構築していますが、外部へのメール送信ができません(似たような質問が、過去にこのサイトにも幾つかありますが、解決できませんでしたので、ここに改めて質問させてください)。なお、固定IPではなく、ダイナミックDNS(mydns.jpを利用)しています。 現在の状況ですが、例えばコマンドラインから外部のアドレス「USER@hoge.com」へメールを送るとします。 [root@localhost /]# mail USER@hoge.com すると、相手には届かず、「/var/log/maillog」には以下のような記録が残ります。 May 4 20:18:39 localhost postfix/qmgr[17170]: 0875F2C0C4C: from=<>, size=2213, nrcpt=1 (queue active) May 4 20:18:39 localhost postfix/bounce[17312]: E80932C0C4B: sender non-delivery notification: 0875F2C0C4C May 4 20:18:39 localhost postfix/qmgr[17170]: E80932C0C4B: removed May 4 20:18:39 localhost postfix/local[17313]: 0875F2C0C4C: to=<root@hoge.mydns.jp>, relay=local, delay=0.02, delays=0.01/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir) May 4 20:18:39 localhost postfix/qmgr[17170]: 0875F2C0C4C: removed OSはCentOS 5.4を利用しており、Postfixは2.3.3です。下に「postconf -n」の結果を記載します。 alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix debug_peer_level = 2 home_mailbox = Maildir/ html_directory = no inet_interfaces = all mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mydomain = hoge.mydns.jp myhostname = www.hoge.mydns.jp myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES relayhost = (ISPのSMTPサーバードメインを記載) sample_directory = /usr/share/doc/postfix-2.3.3/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop smtpd_banner = $myhostname ESMTP unknown unknown_local_recipient_reject_code = 550 ポートに関しては「telnet localhost 25」で接続できることを確認できており、DNSについてはdigコマンドを使い、正引き、逆引き、MXレコードを確認しましたが、全て「status:NOERROR」で結果が表示されます。ここからどのようにすれば、メール送信ができるようになるでしょうか?皆様のお知恵をお貸しください。よろしくお願いします。
- SQL*Plus内でPL/SQL、SQLを実行するシェルスクリプトを書
SQL*Plus内でPL/SQL、SQLを実行するシェルスクリプトを書いています。 イメージ sqlplus scott/tiger << EOF declare aaa number; begin -- *1 select col1 into aaa from test1; end; / -- *2 define a=1 define b=1 @test.sql EOF ここで*1にて例えば複数行が返ってくるなどのエラーが 発生した場合、*2以降のSQLを実行せずにSQL*Plusから抜けたいのですが どのようにすればよいかわかりますでしょうか。 whenever sqlerror exit 255 などはPL/SQL内の論理エラーはハンドリングしてくれないようです。 よろしくお願いします。 それかdefineや@マーク指定によるsqlファイルの取り込みを PL/SQLの中で実行できる方法を教えていただく方法でも 当方が実施したいことはできるのでそれでもかまいません。
- ベストアンサー
- Oracle
- whiteline507
- 回答数1