nora1962 の回答履歴

全1179件中81~100件表示
  • 黒猫SQL で ポストグレに接続したい。

    色々、試しているのですがうまくゆきません。 どうしたらよいでしょうか? ポストグレのドライバを設定するところがあるのですが、 何を設定していいか分かりません。

  • 初心者 STEP1: インストールについて

    これからはじめる初心者です。 古いですがoracle9iを入手したので、所有しているサーバ(win2000Server)へ インストールしようと計画しています。 今、インストール手順がわからず色々情報をみています。 ここで、データベース構成タイプの選択で  汎用目的 トランザクション処理  データ・ウェアハウス  ソフトウェアのみ とか色々ありますが、初心者としては勉強環境をつくるのに どれを選べばよういでしょうか? 因みに会社のマニュアルをチラッと見ましたが、 ソフトウェアのみを選択してました。 その後色々データベース保存先ホルダをドライブdやeとか 細かく設定しているみたいです。 自分としては単純構成で、適当にスキーマを作って sqlとかいじってみたいと考えています。 知識的にはアクセスを何とか使えます(ADOでsqlを使っています)。 ご指南お願いします。

  • 条件が混在しているSQLで値取得

    いつもありがとうございます。 質問させて下さい。 以下のテーブルより、S1が同値で、Codeに1と0が混じっている場合、SQLでS1を取得したいのです。 No S1 Code 1 300 1 2 301 1 3 300 0 4 301 0 5 302 1 6 302 0 7 302 1 8 303 0 9 304 1 10 305 0 11 305 0 (Noはキー) 望む結果 S1 300 301 302 どういうSQLを組めば実現可能なのでしょうか? 有識者の方、ご享受宜しくお願い申し上げます。 ※VBA等プログラミングが入っても問題ありません

  • sqlにて0無しの月をフォーマットする方法

    質問させていただきます。 DB:postgresql 言語:PHP タイトルの通りなのですが、 現在下記のような形でSQLを実行しています。 「to_char(created, 'YYYY年MM月') as created_styled,」 しかし、この形では月の部分が01月と0を含んだものになってしまいます。 MySQLであれば、%cを使用すれば0無しの月を生成出来るようなのですが、 postgresqlでも同じような機能は無いのでしょうか? また、無理にSQL側で処理を行う必要も無いので、データを取り出した後での処理方法でも構いません。 もしこういった場合に一般的な0を消す対処方法があれば教えて頂けると助かります。 よろしくお願い致します。 また、質問に不備などがあればすぐに修正致しますので、その際はご指摘お願いします。

  • MySQLに格納できない

    INSERT INTOの構文が間違っていると、エラーが出ます。 DB接続はできています。 テーブル名:db_touroku フィールド: id mailaddress created(登録日) としています。 ユーザーにはテキストのフォームにメールアドレスのみを入力してもらい、「submit」でtouroku.phpのページへ移動。 idにはDBでauto_increment をつけています。 //touroku.php $sql = sprintf('INSERT INTO db_touroku VALUE("%d" ,"%s" ,"%s"', 0,mysql_real_escape_string($_SESSION['join']['mailaddress']),date('Y-m-d H:i:s')); mysql_query($sql,$link) or die(mysql_error()); 構文が間違っているでしょうか? どなたかご教授お願いします。

  • MySQLでのデータベースの選択ができません。

    初めまして。 PHPを用いてMySQLを操作しようとしています。 接続はうまくいくのですが、データベースを選択する際に失敗します。 XAMPPを使用しています。 色々と調べてみましたが 全くの初心者のため、的を得た情報にたどり着けず、 皆様のお力をお借しいただきたいと思います。 PHPは以下のようにしました。 <?php $hostname = "localhost"; $user = "root"; $password = ""; $dbname = "weather"; $conn = mysqli_connect("$hostname","$user","$password"); if (!$conn) { die("接続失敗" . mysqli_connect_error()); } print "接続成功" . mysqli_get_host_info($conn) . "\n"; $selectdb = mysql_select_db("$dbname"); if (!$selectdb) { die("選択失敗:".mysql_error()); } print("$dbname"."に接続成功"); $close = mysqli_close($conn); if ($close) { print("切断成功"); } ?> これを実行すると 接続成功localhost via TCP/IP 選択失敗:Access denied for user ''@'localhost' to database 'weather' という表示になります。 権限は以下のようになっています。 ユーザ ホスト 種別 特権 権限委譲 操作 root 127.0.0.1 グローバル ALL PRIVILEGES はい root localhost グローバル ALL PRIVILEGES はい 特権には全てチェックがついているので ユーザ権限の部分は問題ないと思うのです。 素人なりに考えてみたら 『Access denied for user ''@'localhost' to database 'weather'』 の@の前が空欄になっているのが原因なのかなと思いましたが どうすればいいのかわかりませんし、 その原因にも自信がありません。 初めて質問するので 失礼な部分などがあればお許し下さい。 どうかよろしくお願いいたします。

  • インデックスキーを設定するとKeyがMULに。

    MySQLのインデックスキーを設定するとプライマリーキーが設定されてしまいます。 phpMyAdminを使用しています。 localhostページの一番下には、下記2つの注意が発せられています。 ■phpMyAdmin の新しいバージョンが提供されています。アップグレードの検討をお奨めします。最新バージョンは 3.5.1 で、2012-05-03 にリリースされています。 ■phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。 localhostページの右側にあるバージョン情報は、 <データベースサーバ> ソフトウェア: MySQL ソフトウェアバージョン: 5.0.96-community-nt - MySQL Community Edition (GPL) プロトコルバージョン: 10 サーバの文字セット: UTF-8 Unicode (utf8) <ウェブサーバ> Apache/2.4.1 (Win32) PHP/5.2.17 データベースクライアントのバージョン: libmysql - 5.0.51a PHP 拡張: mysqli <phpMyAdmin> バージョン情報: 3.5.0, 最終安定バージョン: 3.5.1 現段階は、下記のようなテーブル構造になっています。 下記は質問用にデータをコピーするためにMySQL monitorを使いました。 フィールドの追加やキーの追加と削除はphpMyAdminで行っています。 (1)テーブルの構造 mysql> SHOW FIELDS FROM `infotable`; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | text | NO | | NULL | | | kudamono | text | NO | | NULL | | | coment | text | NO | | NULL | | | tes | int(11) | NO | | NULL | | +----------+---------+------+-----+---------+-------+ (2)`tes`にインデックスキーを設定 phpMyAdminの「構造」画面でtesフィールドの「操作」欄の「その他」ドロップダウンから「インデックスを追加する」をクリック phpMyAdminの画面に ALTER TABLE `infotable` ADD INDEX ( `tes` ) と表示され`tes`にインデックスキーを設定しました。 (3)インデックスキー設定後のテーブルの構造 mysql> SHOW FIELDS FROM `infotable`; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | text | NO | | NULL | | | kudamono | text | NO | | NULL | | | coment | text | NO | | NULL | | | tes | int(11) | NO | MUL | NULL | | +----------+---------+------+-----+---------+-------+ ここでMULという文字が出てきて調べてみると、 プライマリーキーの重複を表す文字で、 インデックスを設定したはずなのに プライマリーキーが設定されてしまいました。 (4)text型のnameフィールドにもやってみます。 text型の場合は、tesフィールドと同じ方法ではできなかったので、 「SQL」画面で ALTER TABLE `infotable` ADD INDEX (`name`(10)) を実行しました。 mysql> SHOW FIELDS FROM `infotable`; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | text | NO | MUL | NULL | | | kudamono | text | NO | | NULL | | | coment | text | NO | | NULL | | | tes | int(11) | NO | MUL | NULL | | +----------+---------+------+-----+---------+-------+ text型も同じ状態になってしまいます。 なぜMULになってしまうのでしょうか。 インデックスを追加するにはどうしたらよいでしょうか。 ちなみに ALTER TABLE `infotable` DROP INDEX `tes` を実行後はtesのMULは消えます。

  • SQL Server 本体とD/Bの分離について

    初めて質問させていただきます。SQL Server 2008 R2 SE を初めてインストールすることになりました。事前に調べたところ、SQL Server本体とD/B関係は物理的に異なるディレクトリ(ドライブ)に分けて設定したほうがよいう話を耳にしました。その後インストール関係のマニュアルを見たところ、いくつかの箇所でディレクトリを指定する箇所(共有ディレクトリ、インスタンス ルート ディレクトリ、データ ディレクトリ)があります。計画では、本体はCドライブ、D/B(ログも含む)関係は,Dドライブに設定したいと思っています。そこで、共有ディレクトリ、インスタンス ルート ディレクトリはCドライブ、データ ディレクトリは全てDドライブと考えました。この設定でよろしいでしょうか?なにぶん理解が中途半端なのでどなたかご意見お願いします。

  • SQLの処理速度改善にむけて

    処理速度改善に向けて、3つ質問があります。 解答は1つでも良いのでお願いします。 1.検索条件が複数ある場合、もっとも絞れる物から検索するのが早いのでしょうか?   (Indexはその順番に伴い変更する事を前提)   例: where X = 3 (1000件中10件に絞れる) and Y = 4 (1000件中100件に絞れる) and Z = 5 (1000件中900件に絞れる) 上記のように、より絞れる物から検索する。 2.文字列で検索する場合、以下は同じ結果でしょうか。そしてパターン2の方が早いでしょうか   ・パターン1   where X <> 'Z' ・パターン2   where X > 'Z' and X < 'Z' 3.条件式にTO_CHARが入った場合、indexカラムの場合、遅くなるでしょうか?   下記SQLを直すとした場合、どのように直せるでしょうか? SELECT * from X,Y where TO_CHAR(X.DATE,'YYYYMM') = Y.DATE2(+)

    • ベストアンサー
    • evaan
    • Oracle
    • 回答数3
  • テーブルの結合について

    以下の二つを実行すると、2 の方がかなり速いのですが理由が分かりません。 分かる方教えてもらっていいですか? DBはMYSQLでInoDBです。 ちなみに Aは1万件、B は10万件ほど 1 のSQL SELECT * FROM A LEFT JOIN (SELECT * FROM B WHERE ・・・ GROUP BY XXX) B ON A.id = B.XXX WHERE ・・・ GROUP BY A.id 2 のSQL (SELECT * FROM A ・・・ GROUP BY ID ) A LEFT JOIN (SELECT * FROM B WHERE ・・・ GROUP BY XXX) ON A.ID = B.XXX.ID

  • DB2のprep/bindはJavaでは不必要?

    Javaのプログラマです。 最近、Cのプログラムをメンテナンスする機会がありまして 埋め込みSQLを実装するためにDB2のprep/bindコマンドを必要とするプログラムを見つけました。 DB2のprep/bindは事前にSQL文の実行準備をすることで性能を向上させていると理解しているのですが、 つまりJavaのPreparedStatementと同じ役割を果たしているのでしょうか? また私はJava/DB2の開発をしてきて、DB2のprep/bindコマンドを利用したものを見たことがないのですが それはJavaにはPreparedStatementがあるため不必要なためなのでしょうか?

  • Oracleがインストールできない

    Oracle Database Client(lib64版)をlinux環境(CentOS5.8)へインストールしていますが、 上手く出来ません。今までインストール作業をして、何度もエラーが出ましたが何とか エラーは解消する事が出来たのですが何故かインストールができません。(と思っています) インストールできていたのであれば、 rpm -aq|grep oracle と打てば何かしらのレスが返ってくるものだと思っているのですが。。。 当然、phpコマンドで php -v と打つと PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.11.1: cannot open shared object file: No such file or directory in Unknown on line と出ます。(oracleクライアントがインストールされていないので当たり前ですが。。。) どなたかこの状態での打開方法、参考になる情報等ございましたらご教示の程を お願いします。 また、認識違いのご指摘でも結構です。

    • ベストアンサー
    • semsan
    • Oracle
    • 回答数3
  • inner joinについて

    SQLのデータ抽出方法についてお教え下さい。 TABLE_2をdistinctで重複を無くして、TABLE_1とinner joinさせたいです。 select distinct TABLE_2.id と select TABLE_1.ID from TABLE_1 inner join distinct TABLE_2.ID といったようなことをやりたいです。 TABLE_1 ID 001 001 002 002 002 TABLE_2 ID 001 001 002 002 002 環境はMYSQL5.5になります。よろしくお願いいたします。

  • SQL2008 クエリ文について

    いつも皆様に助けていただいてます。 過去に色々聞いているものの、なかなか応用が利かず・・・今回もご支援下さい。 SQL2008に、1つのDBを作っていて、その中にテーブルAとテーブルBがあります。 テーブルAには、1つの会員Noにつき3つのSEQ1~3の行があって、それぞれにポイント数が入ってます。 テーブルA 会員No  SEQ   Point 1001     1     20 1001     2     30 1001     3     50 1002     1     15 1002     2     10 1002     3      0  テーブルBには、1つの会員につき最大10個のSEQが付きますが、今は殆どカラッポです。 テーブルB 会員No  SEQ  Rank 1001    1    5 1002    1    5 やりたいことは、テーブルAのSEQ1のポイント数が99以外なら、テーブルBに テーブルAの「会員NO」、SEQ「7」、Rank「1」 の行を挿入したいです。 クエリ実行後のテーブルB 会員No  SEQ  Rank 1001    1    5 1001    7    1 1002    1    5 1002    7    1 テーブルAのSEQ1のPointが99以外なら、テーブルBに「会員No」とSEQ「7」 とRank「1」を挿入、という概要です。 クエリで可能でしょうか? 先ずは自力である程度やってみるのが筋なんでしょうが、時間が無いので聞いてしまいます。 何卒よろしくお願いします。

  • Oracle初心者にわかりやすいHP

    今度、自宅のパソコンにOracleを導入したいのですが、 Oracleについて検索をしても英語のHPが多く、よくわかりません。 初心者でもわかるような解説をしてくれているHPはないものでしょうか? (入手方法とか、インストール手順とか) できれば、図解もあると助かります。

  • アップロードしたPDFを検索してブラウザに

    お世話になります。 type="file"でアップし、$_FILEで取得したファイル情報をMYSQLに格納、ファイルの実体はサーバー上のフォルダに保存するというシステムを助けてもらいながら作りました。 今度はそれでアップしたファイルをIDとファイル名をキーにして、検索し、ブラウザに表示したいと思っています。行き詰ったので、ネットで調べると、header('Content-type: application/pdf');を使うことは分かったんですが、その他の処理の書き方が分かりません。 どなたか、サンプルを書いていただけないでしょうか?

  • 引数をとるプロシージャの記述方法

    Functionプロシージャへ文字型と数値型の両方の引数の指定したいのですが記述方法が解りません。 文字型のAとBと数値型のCを引数に渡したいのですが、文字だけの場合は Public Function Calc_1(A,B As String) As String でいいと思いますが、これに数値型のCを追加したいのですがどのように記述したらいいのか教えていただけないでしょうか。 よろしくお願いいたします。

  • ファイルの存在チェック

    xp_fileexistsを使わずにファイルの存在チェックはできないでしょうか?

  • トリガで複数行のインサートを実行したい

    mysql 5.5.16で、全体ユーザーから誕生日が来た人だけを選別する仕組みを作っています。 テーブル user (id_1 INT, user_1 TEXT,count_1 INT,nextbirthday_1 DATETIME) テーブル 20years (id_2 INT, user_2 TEXT,nextbirthday_2 DATETIME) userテーブルには1000人の19才ユーザーが配置されています。 このリストから「20才の誕生日が着たら20yearsテーブルに複写させる」ことを考えました。 まずは、EVENT でrecordにある1000人のユーザー全ての count_1 を毎日1回づつUPDATEさせます。 このアップデートをTRIGGERとして、誕生日と現在時間を見合わせ、誕生日が現在時間より古いユーザーは(誕生日が来たものは)20yearに複写させることを考えました。 その案が下記のEVENT とTRIGGERです。 ******************************** CREATE EVENT happybirthday ON SCHEDULE EVERY 1 DAY STARTS '2012-04-25 09:00:00' ENDS '2013-03-31 09:00:00' DO UPDATE record SET count_1 = count_1 + 1; ******************************** DELIMITER // CREATE TRIGGER 20_trigger AFTER UPDATE ON record FOR EACH ROW BEGIN IF(SELECT NEW.nextbitthday_1 <= NOW()) THEN INSERT INTO 20years SET id_2=NEW.id_1,user_2=NEW.user_1,nextbirthday_2=NEW.nextbirthday_1 ON DUPLICATE KEY UPDATE id_2=NEW.id_1; END IF; END; // DELIMITER ; ******************************** FOR EACH ROW BEGIN で全てのユーザーの誕生日を見に行き、誕生日に4人が該当すれば4人が20yearsに複写されるはずです。 しかし実際には、該当する一番上の一人だけしか複写させることが出来ませんでした。 (本日誕生日のユーザーが4人いて、4/16以前が誕生日の人が10人いた場合、それら合計14人のうち、userテーブル上で一番上に位置するユーザーだけが複写される) このトリガの書き方では、FOR EACH ROW BEGINと設定しているにも関わらず、全てのユーザーに対してトリガ作業を行わず、上から一人目を抽出した時点で作業を終了しているようです。 アドバイスを頂けましたら幸いです。 尚、ニーズは誕生日が来たユーザーだけを移動することですので、私の発案の方法に限らずもっといい方法があればアドバイスをお願いいたします。 追伸 IF節を全て外しても同様に一人しか抽出しませんでしたので、IF節が悪さをしている訳ではないようです。 よろしくお願いいたします。

    • ベストアンサー
    • tajix14
    • MySQL
    • 回答数2
  • Mysql5.5.22接続時のJDBCドライバ

    Mysql5.5.22にTomcat7を使用し接続を行っているのですが mysql-connector-java-5.5~.jar というようなJDBCドライバファイルが見つからずに mysql-connector-java-5.1.13-bin.jarを使用しているのですが問題ないでしょうか。 また、mysql-connector-java-5.5.22等は存在しないのでしょうか? よろしくお願いします。