PostgreSQL

全1193件中1101~1120件表示
  • データベースの復元について

    先日pgsqlの稼動しているサーバが起動できなくなり、何とかDBのバックアップを取ろうと色々やってみたのですが、pg_dumpも使えない状態だったので、pgsqlディレクトリをバックアップしました。 環境を再構築した後DBを作成し、baseにできたディレクトリの中にバックアップを取ったファイルを入れてみたのですが上手く動作しません。 何か良い方法はないでしょうか。 環境はredhat9、postgre7.3です。 よろしくお願いします。

  • select の中の select

    SQL文で3つのデータを表示させようとしています。 ID、ポイント、登録日というデータです。 データベースには ID POINT IN_DATE 4 100 2004/10/01 ・・・ 4 150 2004/10/31 ・・・ 5 200 2004/09/01 ・・・ 3 150 2004/10/31 ・・・ 3 200  2004/10/01 このように入っている場合に、 IDが同じ物はグループ化して、その中で登録された一番新しいデータを各々抽出したいのですが、うまくいきません。 この場合に表示されるデータは 4 150 2004/10/31 ・・・ 5 200 2004/09/01 ・・・ 3 150 2004/10/31 ・・・ です。何かよい方法があれば教えてください。

  • NOT NULLの解除の仕方

    明後日納品のWebページを作成中に、 壁にぶちあたってしまいました。 PostgresSQLにて、既にセットされている NOTNULL制約を解除しなければならないのですが、 どうにもPostgresSQLマニュアルを見ても 見つけることが出来ません。 どなたかお教え願えませんでしょうか…。

  • 副問い合わせとか使うのでしょうか?

    2つのテーブルがあります。 -------------------------- テーブルA(メイン)  A_ID  NAME テーブルB(詳細)  B_ID  A_ID  SEQ -------------------------- テーブルAとテーブルBは「A_ID」で結合可能です。 テーブルBの「SEQ」には「A_ID」ごとのSEQNOが入っています。 ほしいデータは、 テーブルAの「NAME」=XXXX で テーブルBの「A_ID」毎の最小SEQデータの「B_ID」と「A_ID」です。 一回のSQLでできるでしょうか? テーブルBの「A_ID」毎の最小SEQデータの「B_ID」を取得するというところからつまづいています。 どうぞよろしくお願いします。

  • 同じデータベース内で値の参照

    あるA,B,Cのテーブルがあり、 Aの主キーはシーケンシャル番号が振られています。 この値を参照し、B,Cのテーブルのフィールドに挿入したいのですが、 私のやり方は (1)まずAをInsertする (2)AでInsertしてできたシーケンシャル番号を取得し、 (3)BをInsertする (4)CをInsertする と少しややこしい方法しか思いつきませんでした。 何かよいアイデアがあれば教えていただけたら、ありがたいです。

  • ユーザIDのソート

    WebアプリのログインIDとして、CHAR型7桁で A0001~A000100(5桁~7桁) としているのですが、ユーザIDでソートした際に うまく並ばないんです。 ユーザ一覧をソートしようとした際に、 「A0001」「A0002」・・・「A00010」などと表示したいのに、ユーザIDでSELECTしてくると、 「A0001」「A00010」「A00011」「A00012」「A00013」となってしまい困っています。 うまくソートする方法は無いでしょうか? アドバイスをよろしくお願いいたします。 ※先頭は、アルファベットなので数字としてソートできないですし、IDは、7桁固定で0パディングするというのも出来ないんです。

  • REDHATのOSが壊れてしまったとき、、、

    仕事場のREDHATのOSでPOSTGRESをいれていた サーバマシンが 突然電源を抜いたことによってOSが壊れてしまいました。 とりあえずは、明後日レスキューモードを試して見ますがそれでも駄目な場合は、 POSTGRESのデータを退避させたいのですが そのような事は可能なのでしょうか? もし出来るのなら具体的な方法を教えてください よろしくお願いいたします。

  • VBを使って値が入らない

    text型のフィールドに下の文字列を入れようとすると ------ psStr = "D:/usr/toda/work/仕事/コーディング規約/VB/src/Base/ss.ico" objRec.Fields("field1").Value = psStr ---- ?Err.Description 複数ステップの OLE DB の操作でエラーが発生しました。各 OLE DB の状態の値を確認してください。作業は終了しませんでした。 というエラーが発生してしまいます。なぜか分かる方いますか?原因と対処の方法は? OS:WindowsXP+VB6です。 ADODBとPostgresODBCドライバでDBにつないでいます。 Common SQL Environmentだと入るのですが。

  • 一部重複するデータを連続して表示させないSQL

    No、名前、TELの3列があって、同じNoの人が複数存在します。 No|名前|TEL 1 |A  |090-9999-9999 1 |B  |090-8888-8888 2 |C  |090-7777-7777 2 |D  |090-6666-6666 2 |E  |090-5555-5555 ↑これをこういう風↓に表示したいのですが、可能なのでしょうか? No|名前|TEL 1 |A  |090-9999-9999   |B  |090-8888-8888 2 |C  |090-7777-7777   |D  |090-6666-6666   |E  |090-5555-5555 以前にどこかで見たような気がして探してみたのですが分かりません・・・・

  • psqlコマンドのオプション指定で、実行する方法を教えて下さい。

    psqlコマンドのオプション指定で、実行する方法を教えて下さい。 psql > \i /www/test.tbl として、telnetの動作のように 行うpsqlコマンドのオプションがあれば教えて下さい。 例えば、こんな感じでできるものはありますか? $ psql aaa -i /www/test.tbl 上記では、動きませんでした。 良かったら、教えて下さい。

  • データ型の変換方法

    こんにちは。 前回も同じようなしつもんをしましたがまた問題点がでてきてしまったので質問します。 下記が前回の質問です。困ったことにこの『数』がvarcharなのです。 そうするとa.数とb.数をsumしているところでうまく計算してくれないみたいなのです。(文字列の連結になるようです。) できればここでint型などに一時的に変換して計算させたいのですがいい方法ありませんでしょうか? アドバイスをお願いします。 PostgresでそのIDを持っている人がどのくらいの数を持っているのかを抽出したいのです。 テーブルは下記です。 ********************************************* ★Aテーブル ID  名前  数  場所  日付 0001 みかん 1  冷蔵庫 0901 0001 みかん 4  倉庫  0901 0001 みかん 1  冷蔵庫 0901 0002 いちご 1  部屋  0901 0002 いちご 2  部屋  0801 0003 きのこ 6  倉庫  0901 ★Bテーブル ID  名前 0001 みかん 0002 いちご 0003 きのこ 0004 あいす ********************************************* となっている場合、下記SQLを実行すると select a.ID ,b.名前 ,sum(a.数 + b.数) as 数 from Aテーブル a,Bテーブル b where a.日付 >= '0901' and a.日付 <= '0901' and a.ID = b.ID group by a.ID ,b.名前 結果が 0001 みかん 2 0001 みかん 4 0002 いちご 1 0002 いちご 2 となり0001は合計6で出て欲しいのに別々に出てしまいます。 理想では 0001 みかん 6 0002 いちご 3 で出て欲しいです。 これはなぜなのでしょうか? よろしくお願いします。

  • 連結演算子で結合すると値がNullだと表示出来ない

    SQLで連結演算子(||)を使って、col1とcol2を連結させたいのですが、 どちらかの列の値がNullだと結果がNullでかえってきてしまいます。 Select col1 || '/' || col2 As set_col From table_name; col1には必ず値が入っているのですが、col2には値が入るとは限りません。 表示させる解決策はあるのでしょうか?

  • psql 使用時に自動 commit を無効にするには

    既存の postgresql を使ったサーバがあります。 WEBのアプリで使用しています。 自動でcommitされる設定になっているのですが、 私が設定を変更することはできません。 psql で接続することがあるのですが、この時だけ自動commitを無効にするようなことは可能でしょうか? よろしくお願い致します。

  • SQLのsum関数

    こんにちは。 PostgresのSQLが思うように動いてくれません!! そのIDを持っている人がどのくらいの数を持っているのかを抽出したいのです。 テーブルは下記です。 ********************************************* ★Aテーブル ID  名前  数  場所  日付 0001 みかん 1  冷蔵庫 0901 0001 みかん 4  倉庫  0901 0001 みかん 1  冷蔵庫 0901 0002 いちご 1  部屋  0901 0002 いちご 2  部屋  0801 0003 きのこ 6  倉庫  0901 ★Bテーブル ID  名前 0001 みかん 0002 いちご 0003 きのこ 0004 あいす ********************************************* となっている場合、下記SQLを実行すると select a.ID ,b.名前 ,sum(a.数) as 数 from Aテーブル a,Bテーブル b where a.日付 >= '0901' and a.日付 <= '0901' and a.ID = b.ID group by a.ID ,b.名前, a.数 結果が 0001 みかん 2 0001 みかん 4 0002 いちご 1 0002 いちご 2 となり0001は合計6で出て欲しいのに別々に出てしまいます。 理想では 0001 みかん 6 0002 いちご 3 で出て欲しいです。 たとえばこの場合、場所によってなど出てしまうものでしょうか? これはなぜなのでしょうか? よろしくお願いします。

  • pg/plsqlでのカーソルのLIKEの記述方法

    連続で投稿まことに申し訳ありません できればこちらの方を優先的にお返事いただけると幸いです。 ストアドファンクションのDECLARE部で カーソル部のLIKEのところの記述がうまく検索されません。 ご教授いただけると幸いです。 *このように記述してみました mycursor CURSOR(key text) FOR SELECT * FROM tabel1 in WHERE id LIKE ''%key%'';

  • postgres ストアドファンクションないのレコードの取得について

    質問させていただきます pg/plsqlのストアドファンクション内で 受け取った引数を sql := select * from hoge; FOR rec IN EXECUTE sql LOOP return rec.col;     <<<この部分で END LOOP; return; rec.引数名のようにして 引数から取得した 列を指定したいのですが、そのまま入れると そのような列はありませんと言うような返事を 返されてしまいます。 うまくやる方法はないものでしょうか? よろしくお願いします。

  • 別テーブルのデータ結合

    PostgresSQLを勉強中です。 そこで質問ですが、A、Bという各テーブルの値の合計を求めたいのですがいまいちわからないので教えてください。 例 Aテーブル: ID type 値段 date 0001 あ 100 0902 0002 あ 110 0903 0003 え 421 0910 Bテーブル: ID type 値段  date 0001 お 500 0901 0002 か 210 0801 0004 さ 333 0901 となっているときにA,Bテーブルの合計をtypeは関係なく出したいのです。 たとえばIDが0001であれば100+500で600というかんじです。 下記のように結合はできましたが値段部分の総合計をどうやってだせばいいのかわかりません。 select date,type,値段 from Aテーブル where ID = '0001' and date >= '0901' UNION select date,type,値段 from Bテーブル where ID = '0001' and date >= '0901' order by date 簡単なのかもしれませんがおしえてください。 よろしくお願いします。

  • 文字エンコーディングをEUC_JPにする

    データベースの文字エンコーディングがEUC_JPになっていないので,EUC_JPにしたいのですが,どのファイルのどの部分をどのように変えればいいのかわかりません。 ウインドーズのODBCドライバがEUC_JPに対応しているようなので,そのように変えたいのですが。

  • ☆☆DB名の変更☆☆

    PostgreSqlで質問があります。 データベースtestを作成したとします。 このデータベースtestをtest2に名前を変更したいのですが、どのようにすればいいのでしょうか?

  • テーブルで使用するinについて

    select count(r.テスト1) as all_count from DB1 as r where 1=1 and ( r.テスト1 in (select distinct テスト1 from DB2 where テスト1 is not null and テスト2 is not null)); このようなSQL文がある場合は どのような意味になるのでしょうか? inといものはどのようなときに使うのでしょうか? ご教授お願いいたします。