nora1962 の回答履歴

全1179件中161~180件表示
  • TRIGGER上の足し算について

    MYSQLで株の履歴を作っています。 テーブルとしては、株を購入するユーザー書き込み用のa_nowstock、最新の保有株を記録するa_lateststockとなります。 テーブル a_nowstock    (a1_id(自動取得),a2_user_id,a3_buy_stock_volume) a_lateststock (d2_user_id(PRIMARY),d3_latest_volume) a_nowstock が入力されたら、最新数量を足し算してa_lateststockの中のd3_latest_volumeを更新します。 これをTRIGGERで処理するために下記のようにSQLで指示してみました。 DELIMITER // CREATE TRIGGER a_ref BEFORE INSERT ON a_nowstock FOR EACH ROW BEGIN INSERT INTO a_lateststock SET d2_usr_id = NEW.a2_usr_id, d3_latest_volume = NEW.a3_buy_stock_volume ON DUPLICATE KEY UPDATE d2_usr_id = NEW.a2_usr_id, d3_latest_volume = d3_latest_volume + NEW.a3_buy_stock_volume; END; // DELIMITER ; しかしながら、下記の通りエラーとなります。 #1054 - Unknown column 'd3_latest_volume ' in 'field list' d3_latest_volumeをold.d3_latest_volumeとして指示しても同様です。 #1054 - Unknown column 'old.d3_latest_volume ' in 'field list' WEB上のMySQL リファレンスマニュアルの記載(UPDATE persondata SET age=age+1;)を見る限り足し算は可能と考えています。 どこに問題があるか詳しい方ご教授頂けましたら幸いです。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • tajix14
    • MySQL
    • 回答数2
  • 特定の時間のだけ表示したいです

    データベースに 名前|取得時間 AAA|2011-12-11 19:00:33.562266 BBB|2011-12-16 18:53:13.163553 CCC|2011-12-19 14:01:35.91384 ってあった際に、18時から20時の間だけ抽出して 名前|取得時間 AAA|2011-12-11 19:00:33.562266 BBB|2011-12-16 18:53:13.163553 と表示したいです。 時間はnow()でINSERTしています。 宜しくお願いします。

  • PostgreSQLで表結合+DELETEしたい

    PostgreSQLで、テーブル(2)の情報をキーに(1)を削除したいのですが、エラーが出てしまいます。 どなたか解決策をご存知の方いらっしゃいましたら ご教授宜しくお願い致します。 _構造_____________________ テーブル(1)・・カラムA テーブル(2)・・カラムA、カラムB _SQL文_____________________ DELETE FROM (1) INNER JOIN (2) ON (1).カラムA= (2).カラムA WHERE (2).カラムB=X _エラーメッセージ__________ [Err] ERROR: syntax error at or near "INNER"

  • ユーザー単位のデータ蓄積方法について

    ユーザーごとのデータを蓄積する際に、可能な限り更新系処理(特にinsert)の負荷が低くしたいと思い、その手法について効率的な方法を教えていただきたいと思っています。 ○実施内容 ユーザーID,1,データ ユーザーID,2,データ ユーザーID,3,データ ・・・ (※↑ユーザーIDは、もちろんながらint系の値です。) というようなスキーマで、ユーザーID、ユーザーごとのデータが共に非常に多くなることを前提とします。 ○前提条件 ・ユーザーIDはSQL発行の際必ず指定し、あくまで特定のユーザーデータの出し入れだけを行うことを前提とします。(ユーザーIDやデータでソートしたりなどはしません。) →ソートや検索を行うとしても、必ず特定のユーザーID内だけで行います。 ・InnoDBを利用。 ○今までの自身の考え ・一番最初に直感でパーティショニングの使用を思いつきましたが、色々なパーティショニングのタイプを見たうえで、念のため実際に試しましたが、かえってパフォーマンスが落ちました。 (今回は、あくまでHDDは一つで、MySQLの設計ベースの話だけとさせて下さい。) ・他の方法として、テーブル自体をなんらかのユーザーID単位のルールで分割してしまう方法も考えていますが、可能な限り避けたいと思っています。 一番の理想としては、パーティショニングでインデックスまで完全に分割して、一つのテーブルに見えるものの、動きとしては複数のテーブルの集合のような状態ができるのが理想です。

  • TRIGGERの書き方について

    MYSQLで株の履歴を作っています。 テーブルとしては、株を購入するユーザー書き込み用のa_nowstock、書き込み履歴を記録するa_nowstock_history、最新の保有株を記録するa_lateststockとなります。 テーブル a_nowstock    (a1_id(自動取得),a2_user_id,a3_usr_volume,a4_latest_volume) a_nowstock_history(b1_id(自動取得),b2_user_id,b3_usr_volume) a_lateststock (d1_id(自動取得),d2_user_id,d3_latest_volume) a_nowstock はユーザーが書き込むテーブル a_nowstock_historyは書き込み履歴 a_lateststockは最新保有情報のみのデータとなります。 これをTRIGGERで処理するために下記のようにSQLで指示してみました。 DELIMITER // CREATE TRIGGER a_ref BEFORE INSERT ON a_nowstock FOR EACH ROW BEGIN INSERT INTO a_nowstock_history SET b2_usr_id = NEW.a2_usr_id, b3_usr_volume = NEW.a3_usr_volume; UPDATE INTO a_lateststock SET d2_usr_id = NEW.a2_usr_id, d3_latest_volume = NEW.a4_latest_volume; END; // DELIMITER ; しかしながら #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near INTO a_lateststock SET d2_usr_id = NEW.a2_usr_id, d3_latest_volume = NEW.a4_latest_volume; ' at line 5 というエラーが出てしまいます。 DELIMITER // CREATE TRIGGER a_ref BEFORE INSERT ON a_nowstock FOR EACH ROW BEGIN INSERT INTO a_nowstock_history SET b2_usr_id = NEW.a2_usr_id, b3_usr_volume = NEW.a3_usr_volume; END; // DELIMITER ; のように、INSERT INTO だけだと問題なく作動するため、UPDATEがうまくいっていないようです。 TRIGGERはUPDATEも機能するはずなのですが、うまくいきません。 アドバイスいただけましたら幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • tajix14
    • MySQL
    • 回答数1
  • ストアドにしたらエラーになる

    10gを使ってます。 1.ワークテーブル作成 2.そのテーブルにインサート の一連のスクリプトをsql/plusかなんかでやると問題ないのに それをストアドにしたら2.の時にテーブルが存在しないと言うことで コンパイルエラーになってしまいます。 こうゆう場合どうすればコンパイルエラーを回避できるのでしょうか? 1.と2.を分割して二つのストアドにしないといけないのでしょうか。

  • SQL2008 クエリ文について

    いつもお世話になっております。 一応30分ほど自力で考えましたが、断念しました。 どなたかご教授下さい。 テーブルAの中に、以下の様なデータがあるわけですが、 KAINo SEQ  0001    1 0001    2 0001    3 0001    5 0002 1 0002 5 1つのKAINoに対して、存在するSEQがバラバラなので、全てのKAINoにSEQ1~7を 作るクエリを流したいのです。 (↑をこんな感じに↓) KAINo SEQ  0001 1 0001 2 0001 3 0001 4 0001 5 0001 6 0001 7 0002 1 (略)  0002 7 どの様なクエリになるのでしょうか? そもそもクエリで可能なのでしょうか? どうぞ、よろしくお願い申し上げます。

  • ワークテーブルなのに自動で削除されない

    10gを使用しています。 create global temporary ~ preserve rowsとしているのにも関わらず セッション終了時にテーブルが削除されないのですがなぜでしょうか?

  • WHERE カラム名 <> ''の意味

    $result = $db->query("SELECT カラム名 FROM テーブル名 WHERE カラム名 <> ''"); PHPでSQL文を作成しているサンプルがあるのですが、「WHERE カラム名 <> ''」の意味が分かりません。カンマ二つで空文字? これはどういう意味でしょうか? また、<>は何と読むのでしょうか?(検索したいので)

    • ベストアンサー
    • re999
    • MySQL
    • 回答数2
  • SQLite C/C++ でのテーブル数の取得

    よろしくお願いします。  テーブル名「TB1332」の有無を確認するSQL 文をこのようにしました select count(*) from sqlite_master where type='table' and name='TB1332'; PupSQLite でのcount(*)の値 当該テーブルが存在する場合 1 当該テーブルが存在しない場合 0 このように正しい結果が得られます。 しかし、Visul Studio 2010 C++ で下記のコードを実行しますと、result の値は、テーブルの有無に関係なく、常に0となります。 int result = sqlite3_exec(pDb, "select count(*) from sqlite_master where type='table' and name='TB1332';", NULL, NULL, &err); C/C++ で該当する、テーブル数を取得するコードの書き方を教えていただけないでしょうか。 環境 C/C++ Visual Studio 2010 Proffesional SQLite3 PupSQLite https://www.eonet.ne.jp/~pup/software.html

  • あなたの「おふくろの味」教えてください!

    こんにちは!OKWaveスタッフです。 母親の手料理、その思い出…今でもふと思い出す「おふくろの味」を是非教えてください! 「父親に作ってもらったあの料理」や「おばあちゃんがよく作っていたあの料理」などでもOKです! ▼質問 あなたの「おふくろの味」教えてください! 例)たらこスパゲッティと鳥のもも肉が私の子供の頃のごちそうでした。だから誕生日のときはいつもそのメニューで、いま考えると安上がりな子供だな!とおもいますが、本当に美味しくて、いまでも思い出します。 様々な回答、お待ちしております! ※質問は予告なく締め切らせていただきます。 ※参加にあたっては、下記リンク先の注意事項をご一読ください。 http://okch.okwave.jp/#attention

  • どんなプログラミング言語を使うべきか

    独学でPHPだけはある程度知っているんですが 他のプログラミング言語は全く知りません 以下のような状況で以下のようなファイルを得たいとき、何で作るのが一番簡単ですか? PHPの文法に近いもののほうがいいです 1.特定のインターネットアドレスの内容をテキストファイルに保存してダウンロードする 2.テキストファイル(html)を読み込む 3.正規表現で内部のアンカー先urlを全て読み込む 4.そのurlを全て"result.txt"に書きこむ もちろんPHPでなら出来るのですが(というかPHPしか出来ない)、PHPはブラウザを介さないと動きませんし、内部処理に時間がかかりすぎるとエラーを吐いて成功しません 何で作るのが一番簡単でいいでしょうか

  • C++の為にCはどの程度理解する必要がありますか?

    1.C++を利用するにあたってどの程度Cを理解しているとコードが読めないプログラムを書けない等の弊害が出ない若しくは減少できるのでしょうか? 2.C及びC++の辞書的な利用ができる本でお勧めのもの等ありましたら教えていただけませんでしょうか? 3.テキストでは得にくいプログラミングやその周囲の情報(雑学等でも構いません)お勧めの書籍等ありましたら教えていただけませんでしょうか? 現在プログラミングに興味が湧き、C++を初学者向けのテキストで勉強していいます。 (現在使っているテキストではC言語の話が少なくなんとか学習できています) 多くのテキストがC言語学習者を対象としているため、実際どの程度C言語を理解している必要があるのか尋ねたく質問いたしました。 読みにくいとは思いますがどうか回答よろしくお願いいたします。

  • 保守・運用の日常業務を教えてください。

    自宅でSQLServer2008ExpressEditionをインストールしてDBの勉強をしているのですが 保守や運用について勉強したいと思っているのですが何から勉強していいのかわかりません 現在は 1.インストール 2.DB作成、テーブル作成 3.データ挿入 などをSQL文を使わずにSQL Management Studioの画面から行っています。 これから 1.データベースのバックアップ 2.検索速度をあげる作業(すみませんよくわかっていません) 3.ミラーリング?(故障時に切り替えるやつ※よくわかっていませんすみません) 等の保守、運用で必要になる知識を学びたいのですが 保守の日常業務や作業項目がわかっていないため何から勉強していいのか わかりません。 そこで、質問なのですが 保守の日業務や作業項目を教えてください 作業項目というのは例えば 1.バックアップ 2.ミラーリング 等のこんな感じです 参考書籍やホームページもあれば追記願います。

  • 秀丸でSQLを書く際に SQLの予約語だけ大文字

    秀丸でSQLを書く際に SQLの予約語だけを、大文字に変換するよい方法は? たとえば select * from table_1 where id=1 order by id desc; と書いて、マクロを起動すると SELECT * FROM talbe_1 WHERE id=1 ORDER BY id DESC; となるようにするよい方法はありませんか? また、予約語が「強調」されると尚良いです。

  • phpからpostgresにSQLを投げるとエラー

    お世話になります。 phpで作成したある機能から、postgresに対してupdate文を投げると以下のようなエラーが返ります。 server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. update文は非常に簡単なものです。 UPDATE [table_name] SET column1 = 'value1', column2 = 'value2', upd_date = 'yyyy-mm-dd hh:mm:ss' WHERE column_key = 'key' このエラーがでると、該当機能で発行するそれ以降のクエリは全て同様のエラーで失敗しますが、DBが落ちるなどの現象はありません。 他の機能から別トランザクションでアクセスした場合は、正常にアクセスできます。 システムログを確認したところ、同時間帯に以下のようなエラーがでました。 kernel: postmaster[11273]: segfault at 0000002a9e866000 rip 000000000057e4c8 rsp 0000007fbfffccb0 error 6 しかし、このエラーは毎回でるわけではなく、成功する場合もあります。 vacuumdb -U postgres [db_name] -t [table_name] -z を行うとそのエラーは出なくなります。※table_nameは同一。 ただ、バキューム後、2~3時間たつとまた同じ個所で同様のエラーがでます。 該当の機能は1時間に1回動作する機能なのですが、DBの負荷を考えると1時間に1回バキュームをかけるのも忍びないです。 現在は、深夜、朝、夕の計3回バキュームをかけています。 ※一応、実運用レベルではなんとかごまかしている状態です。 データセンターに問い合わせたところ、とくにディスク障害等は出ていないようです。 (どのような調査をおこなって、障害なしと判断しているかまでは、ちょっとわかりません。) セグメンテーション違反とでているので、ハードはあまり関係ないような気がしますし。 ここ、1週間くらいからいきなり出だしたエラーで困っております。 よろしくお願いいたします。 PHP Version 4.3.9 PostgreSQL 7.4.29 CentOS release 4.8 (Final)

  • PostgreSQLを、Win7Homeにインスト

    初めて質問させていただきます。 勉強のため、私物のノートパソコンに、PostgresSQL9.0.6 をインストールしようとしています。 ところが、ダウンロード終了後、「実行」を押しても、何も起きません。 http://www.yamada-lab.org/doc/win_vista/postgresql8/01install/01.html 上記のアドレスのページで、 ・非管理者アカウントの作成 ・そのアカウントで、ローカルセキュリティポリシーを設定 を行わなければならない、というところまでは掴みましたが、 Windows7 でその設定をする方法がわかりません。 OSはWindows7のHomeEditionです。 そもそも、HomeEditionでは、PostgresSQLをインストールすることはできないのでしょうか。

  • ExcelVBAでExcelの検索画面を表示する

    ExcelVBAでExcelの検索画面を表示するにはどのようにしたらいいでしょうか。 マクロの自動記録では解りませんでした。 Excelバージョンは2000以降です。

  • sqlファイルをコマンドでインポート

    サーバーを移転しようと、xoopsのbluesbbを 構造:DROP TABLEを追加、AUTO_INCREMENT 値を追加する、テーブル名やフィールド名を逆クォートで囲む データ:バイナリフィールドでは 16 進数を使用する にチェックを入れ、sqでlファイルに保存しました。 しかし、カテゴリーとトピックスは別のデーターベースにインポートできましたが、bluesbb.sqlファイルは、データーが大きすぎて、phpMyadminではインポート出来ませんでした。 しかも、エクスポートしたデーターベースは誤って削除してしまったので、もはや、エクスポートしたsqlファイルからの復旧をコマンドを使って行うしかないと思います。 新しいサーバーは、sshを使える環境にあります。 このような場合、コマンドからインポートをすることは出来るでしょうか? また、出来るとしたら、やり方を教えて頂きたいのですが?

  • Excel 別々のBookの照合と値の返し方

    いつもお世話になっております。 エクセルのデータで別々のBookの照合をしたいと思い、VLOOKUPで試しましたが、上手くできませんでした。。。 画像を添付しましたので、それにそって質問したいと思います。 (1)Book1のB列に式を入れたい。 (2)Book1のA列とBook2のA列の照合を行いたい。 (3)同じ内容なら、その隣のセル(Book2のB列に入っている値)を(1)に表示させたい。 というものです。 以上、宜しくお願い致します。