408 :
NAME IS NULL :
03/10/24 13:40 ID:+Pc+Umn3 会員専用の施設の利用状況の実績データを記録するデータがあります。 利用データ表 会員NO CHAR 開始日 CHAR(08) 開始時刻 CHAR(04) 終了日 CHAR(08) 終了時刻 CHAR(04) Primary 会員NO,開始日,開始時刻 上のような表です。 (Primary 同じ会員さんが同日に複数回の利用がありうるため) 頻度はそれほど高くないのですが、後で日時情報など修正すること があります。 Primaryを後でメンテナンスするのも美しくないかなぁっと。 そこで、利用データ番号をシリアルに発行しようかと考えて ます。(Primaryも利用データ番号で一意としてます。) 皆さんなら、こういうときどうします。 こういう処理の定番ってありますか?
すいません。読み直すと日本語が駄目駄目でした。 >会員専用の施設の利用状況の実績データを記録するデータがあります。 会員専用施設の利用状況を記録する実績データ表があります。 >Primaryを後でメンテナンスするのも美しくないかなぁっと。 PrimaryKeyになってる項目を後でメンテナンスするの はなんか嫌いです。 >Primaryも利用データ番号で一意としてます。 PrimaryKeyは利用データ番号(自動シリアル番号)です。
VBでターミナルサーバーからSQL Serverのあるサーバーに アクセスするプログラムを作ったのですが、 社内では問題なく動作しましたが、いざ客先でEXEを起動すると <初期化文字列の形式はOLE DB仕様に準拠していません> というダイアログが出て終了してしまいました。 何が原因なのでしょう?
411 :
NAME IS NULL :03/10/25 10:56 ID:qdUqsKwB
オラクルとか一回テーブル作ったらカラムは後ろにしか追加できないですよね? いつも最後のカラムに更新日付を持ってきてるんだけど、システムに変更がきたとき 更新日付の後ろにカラムが追加するのがなんだか気持ち悪いです。 こんな風に思っちゃう僕は一番最初に更新日付もって来るべきですか?
列の順番にこだわるアンタがわからん
何故新しいレイアウトで新規テーブル作ってデータ移すという考えに至れないのか。 まあ、SQLServerでも使っとけってこった。
415 :
NAME IS NULL :03/10/27 18:17 ID:AeRyR5Nt
Microsoft Access2000を使っています Jet4.0が最近SP8になったようですが、Jetの更新履歴ってどこにあるのでしょうか? Jet4.0のサービスパックによって、どのような問題が修正されたのか詳細を知りたいのですが、どこに情報があるのかよくわかりませんでした。 Microsoftの日本語サポートページはもちろん、英語サポートも検索してみたのですが、過去のファイルバージョンの記載があるだけのようです。 私の探し方が下手なんでしょうか。
416 :
:03/10/27 19:17 ID:ppzoizRm
417 :
NAME IS NULL :03/10/27 19:43 ID:RH3qeAyx
お店の定休日のスケジュールをフィールドに格納したいのですが、 「毎月20日」「毎月第2第4土曜」「奇数月の最終日曜日」 などで表されるスケジュールを統一的な書式で格納するためには どのように表現するのが妥当でしょうか。 プログラム側で isHoliday("2003/10/20") みたいな関数を作って ある日付がその店の定休日かどうかの判定ができるようにしたいのです。 店舗テーブルに定休日フィールドを作成してそこに、 「毎月第2第4土曜」 → "ALL-MON-2-SAT,ALL-MON-4-SAT" みたいな自作フォーマット、擬似配列を駆使して記述していいものなんですかね?
>>417 isHoliday()ができればいいだけなら、
定休日テーブル(店舗コード、日付)
だけで十分。
途中で定休日の曜日が変わったりすることもあるだろうし。
419 :
:03/10/28 01:15 ID:aMgZya+1
>>418 つまりベタに定休日を展開したテーブルを用意するのが
結局のところ柔軟でよい、と。
あぼーん
>417 まあ、定休日のパターンを考えると、 storecode integer 店舗コード month integer 月 day integer 日 dayofweek integer 曜日 weekofmonth integer 月の第n週 weekofyear integer 年の第n週 くらいの条件が複合で必要かな? 意味のないところはありえない数値 (NULL にすると primary key にできないので)にしておいて、IsHoliday の中で数回に分けて検索すればいいかと。 曜日や第n週は、大抵の RDB なら取得関数があるでしょ。 (月の最終週、みたいなのもあるから、その辺はちと考えないと駄目か) DOS 時代にあった TODAY っつーソフトを思い出してしまった(w
422 :
415 :03/10/28 12:39 ID:AxvnnLVE
>416 ありがとうございます
423 :
NAME IS NULL :03/10/29 00:32 ID:mUabm6iV
使用DBはAccessです。 union allで結合した2つのテーブルの 売上フィールドを一回の処理でsumしたいのですができますか? 今はこんな形で処理してます。 test1(テーブル) →ID,売上 test2(テーブル) →ID,売上 select ID,売上 from test1 union all select ID,売上 from test2; ↑これをクエリ1として保存 次に・・・・・ select ID,sum(売上) as 売上金額 from クエリ1 group by ID とやっています。二度手間なのでどうにかunion allの時に sumの処理もできないでしょうか? わかり辛い質問ですみませんがお願いします。
424 :
NAME IS NULL :03/10/29 15:55 ID:Is9CEzur
Postgresでdb1というデータベースからdb2というデータベースへ データを移行したいです。SQL文でできるでしょうか? 例えば感じとしては insert into db1.foo select * from db2.foo みたいな。この正確な記述がわかりません。
425 :
424 :03/10/29 16:22 ID:???
>>424 自己レス。Postgresだとできないみたいですね。。
426 :
NAME IS NULL :03/10/29 18:33 ID:wp8HGECS
すんません MSSQL2000のトランザクションログを解析するにはどうしたらいいですか?
解析しても意味ねーじゃん
428 :
NAME IS NULL :03/10/31 01:02 ID:g+86mG5Q
大学名と学部名の表があるとします。 A大学 工学部 A大学 体育学部 B大学 人文学部 C大学 教育学部 C大学 医学部 C大学 商学部 この中から複数の学部がある大学の列だけを取り出して A大学 工学部 A大学 体育学部 C大学 教育学部 C大学 医学部 C大学 商学部 を出力するにはどう書けばいいですか。 (順序こだわりなし、C大学が先でも可)
サブクエリー(ぼそ
430 :
NAME IS NULL :03/10/31 07:06 ID:oq6QqvX6
>>428 SELECT 大学名, 学部名
FROM 学部
WHERE 大学名 IN (
SELECT 大学名
FROM 学部
GROUP BY 大学名
HAVING COUNT(*) > 1)
ORDER BY 大学名
431 :
NAME IS NULL :03/11/01 14:57 ID:yJZs9pbT
Yahoo!とかであるような、「トップ > インターネット > ホームページ作成 > ソフト」みたいな階層は、どうやってテーブル設計すればいいのでしょうか? id parentid(外部キー) categoryname みたいにして、parentidを親のカテゴリとする方法はすぐに思いつくのですが、 それだと階層の深さ分、クエリーを発行しなければならないですよね・・・ こういう場合って、どう設計するのがよいのでしょうか? セオリーみたいなものってあるのでしょうか?
432 :
jsijf :03/11/01 15:12 ID:fQNwhZiI
SELECT文の結合演算が 分かり易い説明をしてくれる 書籍やサイトはありませんか あればご教授下さい。
いまから勉強しようと思うのですが、 アクセスとMysqlどっち使ったほうがいいですか?
>433 PostgreSQLにしとけ。
435 :
NAME IS NULL :03/11/02 20:53 ID:9+Qb/UEU
>>433 情報量(インターネット/書籍)はAccessのほうが圧倒的に多いよ。
>435 それもそうだな。とっかかりやすいと言う点ではな。 他のをいじるときにえらい遠回りにならないことを祈る。
MS-AccessといってもDB機能だけじゃなくVBAでの開発機能もあるわけで、 Windowsで何かしたいならMS-Accessで始めればよいし、 純粋にSQLやRDBMSを学びたいなら、MySQLやPostgreSQLを利用すればよい。 まぁ、どっちをしたいのかって所でしょうね。 お勧めは、PHP+PostgreSQLで勉強かな。 環境作るところから始めてみては?
気合とマシンスペックがあればOracleの評価版。
439 :
まき :03/11/02 23:13 ID:ZfzFkl+c
質問なんですが… 具体的な例を出して説明させてもらいます。 仮に今日銀行に130.500円が振り込まれていたとします。 今日振り込まれる予定の金額が 20.700 15.100 75.500 10.000 100.500 36.500 34.300 だとします。 この予定金額から130.500円の内訳金額がどの分かわかる! みたいなことをエクセルでできますか? 意味がわからなかったらもう少し説明しますので教えてくださいm(__)m
>>439 板違いでは?
適切な板で再質問することをお勧めします。
441 :
まき :03/11/03 00:19 ID:arj0fFu4
どこできくのが一番いいですかね?
さぁ、EXCELならプログラム板かビジネスsoft板あたりじゃないっすか。
今度データベースを扱うことになったのですが、今までまったく触ったことがありません。 postgre なのですが、何か本を一冊薦めてください。
445 :
デフォルトの名無しさん :03/11/04 21:19 ID:kBYWXpUJ
すみません。今、Mckoiという軽量データベースをダウンロードして試しているんですが、 ZIPファイルを展開しただけで、MySQLみたいなデータベースサービスができるみたいなんです。 要するに、MySQLとかだと、コンピュータのサービスとして動いていたり、start.batみたいなファイル で起動したりしてから、データベースが利用できますが、このMckoiというのは、そういうのが無くても Javaから接続して値をINSERTしたり、SELECTしたりできました。 これって、どういうことなんですかね?Mckoiのホームページには、組み込みデータベースとして 活用してください、と書いてありましたが、いくら組み込みデータベースといっても、 起動もしていないのに、データベースとしての役目をはたしてくれるというのが、不思議でしょうがないです。
>445 要はライブラリだけなんじゃないの?
448 :
447 :03/11/05 00:48 ID:???
かなり高度な本のようですね^^; うーん、どうしよ。
449 :
NAME IS NULL :03/11/05 11:48 ID:tGHWn2Xq
>447 まさしく SQL のバイブルと呼ぶに相応しい本です、それは。 昔トッパンからでてたのだが、トッパンが出版業から撤退して手に入らなくなったときは マジでお先真っ暗になりかねなかったっけ(笑) ただ、これはどの RDB であっても通用する、というような一般則でしかないから、Postgre 特有の挙動とかチューニング云々、なんて話になってくるとまた別ですけどね。
>>431 階層の深さが決まってれば力技でOUTER JOINを繰り返す。
深さが不定だったら、階層構造を文字列で持つカラムを作っておいて、
insertするときに親まで手繰って必要な情報を放り込んでおく。
ただし、親をupdateしたときは子の階層情報も全部updateしなければならない
再帰SQLが使えれば一発なのかも。
451 :
NAME IS NULL :03/11/06 03:07 ID:9SXLdpky
適当な板がないのでここで質問させてください。 (XMLなどで使われている)DTDの勉強がしたくて、 仕様書が欲しいのですが、 SGML ANSI/ISO 8879-1986でいいのでしょうか。 お願いしまつ。 とム板で質問したら板違いと言われてしまいました。 SGMLなどの話題はどこでしたらよいのでちょう。
よいのでちょう・・・ 蝶の腸が超だよん ゲラゲラゲラゲラプゲラ 鬱死
>>451 MLってデータベースの範疇なの???ってXMLなんて全然知らないや(w
WebProg板とかで(略 たらい回しになっちゃいますね。。。
(´-`).。oO(そういや、新板要望でML板の要望でてたような気もしたけど出来なかったのか)
>>455 これだけではデータベースの中は見えない。
ここに出てるIDとパスワードは
[ Webアプリケーション ] ― [ ODBCドライバ ] 間のやりとりに必要な
情報であって、この他に
[ ODBCドライバ ] ― [ データベースドライバ ]
間のやりとりに必要な情報がわからない、これだけではデータベースは見えない。
まぁそれでも見せてしまったのは失敗だとは思うけど。
「俺ん家のカギがあっても、俺ん家の場所がわからなきゃドロボーは無理。」くらいかな。
表現の仕方は難しいが、悪用は無理(少なくとも俺のレベルでは)。
家のカギを他人にドロボーに渡してしまうよりも失敗度は低いかも。
>>453 メーリングリスト?かと
あちらで質問しましたです (~Д~)
ありがとん
458 :
453 :03/11/06 14:55 ID:???
あや、マークアップランゲージって書けばよかったな。 自分でもメーリングリストに読めちゃう。 あと、ヽ(`Д´)ノ ドラゴンボール板じゃないやーい(w #回答付くといいですね。
ML というとメーリングリスト、その次にStandard MLを想像する。 「マークアップ言語」はちょっと思いつかなかった。文脈からわかったけど。
460 :
NAME IS NULL :03/11/06 17:02 ID:PmzpKvcm
Microsoft Access 2000 にて、クエリー内で列名を取得したいのですが、 できますでしょうか? SQL Serverのsysobjectsみたいなものがほしいのですが。
462 :
NAME IS NULL :03/11/07 09:38 ID:RgPO9/Ux
>>461 回答、ありがとうございます!
ついでに、もうひとつ質問させていただきます。
どうすればできますでしょうか?
検索エンジンで「Access 列名の取得」等で調べましても、Access以外のやつだったり
モジュール内での取得だったりしてクエリー内での取得方法がわかりません。
(´-`).。oO(システムオブジェクト表示してみれば解決するんじゃ・・・)
なんでもDBで作ろうとするのってどうよ? namazuでも放り込んでおきゃいいだろ、ってとこでもDB使ったりとかさ。
465 :
NAME IS NULL :03/11/11 00:16 ID:MDvcCqYF
簡単なSQL parser を作りたいのですが、 だれかいいアイディア知っていますか?
466 :
NAME IS NULL :03/11/11 00:18 ID:/64sKstq
素朴な疑問なんですが、世の中ってcsv形式のデータが 出回ることが多いですが、tab区切りのデータが出回る 事が少ないのはなぜなのだろう? csvだと半角カンマが混在しているデータが取り扱え無 いのにtabならまず混在はしないのになぜなんだろう?
467 :
NAME IS NULL :03/11/11 07:00 ID:jJ822bLS
質問です。 今、DBを基礎から勉強しているウルトラ初心者なのですが、 DBにおけるアプリケーションとは具体的にどういうものなのでしょうか。 どうも、DBとアプリという関連がつかめません。 「SQL」のことかな?と曖昧に詰め込んだりしてる次第です。
>>466 僕も同じ疑問をもってました(w
僕はタブ区切りをよく使いますが、
他のアプリとの兼ね合いで、カンマ区切りや""付きカンマ区切りを
使うこともありますねー。
>>467 質問の意味が・・・。
データベース管理用のアプリのことでしょうか?
それとも、データベースを利用しているアプリの事なのかな。
469 :
467 :03/11/11 08:09 ID:jJ822bLS
やはり曖昧な理解だと曖昧な質問しか出来ません・・・。 具体的には、ITECの書籍の3層スキーマにおける外部スキーマの記述に、 例えば、新しい組織が出来た、人の異動があったなど データベースにすぐに反映させる必要がある。そこでもし 概念スキーマに対して直接ユーザが問合せや更新を行っていると、 データベースが変化するたびにアプリケーションプログラムに影響が生じる。 と書いてありまして、文末のアプリケーションプログラムとは何ぞや、と思ったのです。 DBMSのことですかね・・・(初心者すぎてすいません
アプリケーションって 人事管理システムとか経理システムとか 購買システムとか稟議システムとか 経費清算システムとか社員名簿管理システムとか 生産管理システムとか
アプリケーションってさらに言えば 人事管理システムとか経理システムとか 購買システムとか稟議システムとか 経費清算システムとか社員名簿管理システムとか 生産管理システムとか を実現するためのVisual Basicのプログラムとか Visual C++のプログラムとか Oracleの手前で動いているWebLogic Server内のJavaプログラムとか
473 :
山太郎 :03/11/11 09:56 ID:???
>469
この辺は参考にならんかな?
ttp://mt-net.vis.ne.jp/ADFE_mail/0024.htm >外部スキーマ データベース利用者に必要なデータの定義。ビューなど。
>概念スキーマ データベースで管理する対象の定義。テーブルなど。
>内部スキーマ データの物理的な格納方法。インデックスやデータファイル配置など。
という点を抑えれば、その記述が指す「アプリケーション」が何か見えてくると思う。
>>469 あぁ、3階層スキーマの話しですか。。。
この場合のアプリケーションは利用者の見る(使う)ことのできる
プログラムの事。。。だっけ。
ずいぶん前に勉強忘れちゃった
475 :
467 :03/11/12 07:16 ID:???
回答ありがとうございました。 やはりいまいちはっきりとしませんが、これは自分の理解力不足だとおもうので、 皆さんの回答をもとにもう一度調べなおしたいと思います。 ありがとうございました。
ひょっとして実際にDBを触った事がない? いきなり座学から入るより、とりあえずAccessあたりをいじくりまわしてみて DBとはこんな物だ、みたいな感覚を掴んだ方がいいかも。
はじめまして。 今MySQL(NT用)で仕事しているのですが、扱っているデータがmedium text のフィールドを要求します。で、そのようなテーブルはすでに作ったのです が・・・。 このテーブルへのデータのインポートに、今まで使っていたCSE( CommonSQLEnvironment)を使おうとすると落ちるのですが、何かいい方法 ありませんか? 詳しい人、教えて下さい。
WebでDB管理をしたいとおもっています。 どのような言語を使えばいいのでしょうか? SQLとかですか?
>>478 SQLはWebアプリがDBに問い合わせする為の言語だよ。
PerlでもPHPでもASPでもCでも好きなのでどうぞ。
PHPあたりならMySQLと組み合わせた本とかイパーイ出てるよ。
480 :
NAME IS NULL :03/11/18 00:15 ID:DpoHsZRD
%LIKE% を使うとインデックスが使われない、とよく言われますが 上記の検索オーダーを満たしたいとき、なにかうまい方法はないでしょうか。 DB依存でなく、汎用的に使えるテクニックがあればいいんですけど。 OracleとかDB2の全文検索できるぜっ!っていうオプションパックみたいな ものを使うのが正解なんだろうけど、ぶっちゃけPostgresとかで使える いいアイデアがあればナアと思っております。
汎用的というなら、N-gramに分解してインデクス付けするとか。
482 :
479 :03/11/18 21:51 ID:UVkMNVX3
483 :
480 :03/11/18 21:53 ID:UVkMNVX3
>>482 すいません番号間違えました。
479じゃなく480です。
484 :
NAME IS NULL :03/11/19 11:03 ID:alTE172O
DB板初心者なんですけど。 SQLを解説してるページで、お薦めのを教えてください。
486 :
480 :03/11/20 00:09 ID:P2TIu4Oa
>>482 http://www.hippo2000.info/perl/myfull.htm はN-gramではなくわかち書きでインデックス付けはmySQLに
おまかせというものなんですね。
自分で他のDBに実装するとしたらN-gramなり単語レベルなりで
分割して、テーブル定義は
対象TBL{
id
テキスト
.・・・
}
単語TBL{
id
単語
}
単語インデックスTBL{
id
単語TBLのid(FK)
対象TBLのid(FK)
}
とかで、検索は
SELECT 対象TBL.* FROM 対象TBL, 単語インデックスTBL, 単語TBL
WHERE 単語TBL.単語=検索文字
AND 単語TBL.id = 単語インデックスTBL.単語TBLのid
AND 対象TBL.id = 単語インデックスTBL.対象TBLのid
でしょうか。
データ投入とデータ削除時に単語インデックスからHITしたレコードを
消してと・・・こんな感じでうまくいくかなぁ。
488 :
NAME IS NULL :03/11/20 10:39 ID:s2xjvVCC
ネットワーク上のマシンの、ODBC設定情報を テキスト形式などで取得する方法ってあるんでしょうか?
>>488 ネット経由でレジストリ読めばいけるんでないの?
490 :
NAME IS NULL :03/11/21 10:37 ID:w22KfIh7
SQLServer 2000 で、カラムの文字列照合順序を変えたいのですが、 ALTER TABLE 顧客 ALTER COLUMN 氏名 varchar(50) COLLATE Japanese_CI_AS のようにすると、 行 1: 'COLUMN' の近くに無効な構文があります。 と、しかられます。 (Enterprise Manager でやれば簡単ですが、項目数が多いので・・・。)
492 :
NAME IS NULL :03/11/22 23:43 ID:rl/cmf7f
フリーのマイツールがインストールできません。 Apprun.exe起動できない。壊れているのかと ダウンロードしなおしてもだめです。 どうすればよいか教えてください。
493 :
NAME IS NULL :03/11/23 00:16 ID:EnJ2N8lP
最近、XMLが騒がれだして、XMLDBが取り上げられること あるけど、XMLって単にツリー構造なだけで、別に新しい 構造だとは思わないんだけど、 で、質問としては、よく情報処理の教科書に出てくる、 ツリー型データベースってどんなものなの? 概念だけあって 現物を知らないので。
494 :
NAME IS NULL :03/11/23 09:33 ID:3sf2PdcM
Lan経由でDBアクセスするときって、私はWindowsの設定でODBCドライバを登録して そいつをDAOなりADOで呼び出すのしかやったことないんだけど、 ほかにはどんなやり方があります?
シングルクウォートをエスケープする方法を教えてください。 表に「That's too bad」という文字列を挿入したいのですが、 シングルクウォートがエスケープできず、困っております。 ちなみに、DBMSにはSQLServerを使用しています。
>494 自分で接続文字列組み立てる方法。 ODBCデータソース使うよりこっちのほうが一般的だと思うが・・・ ミドルウェアはADOでもDAOでもお好きに。
>>494 JDBCで呼び出してます Servletからだとそのほうが普通
>>495 MySQLだと\でエスケープなんだけど・・
>>497 >>498 そんな方法があったのですか…
\'で出来なかったから、あきらめようと思っていました。
勉強しなおします。ありがとうございました。
わからないので質問させて下さい。 休日を管理している表があって、 2003-11-01 土曜 2003-11-02 日曜 2003-11-03 祭日 2003-11-08 土曜 こんな感じでデータが入っているときに、 ある指定日の次の平日を取得するようなSQL文を作りたいんです。 たとえば 2003-11-20→2003-11-21 2003-11-21→2003-11-25 という具合です。PL/SQLならできそうですができたらSQLのみがいいのです。 環境はOracle9iです。よろしくです。
>500 最初に確認しておきたいのだが、土日はいいとしても祝祭日は計算で 求められないものもある事は理解しているか?
すでに休日データはテーブルに入ってるんだから それは考えなくてもいいんじゃない?
>>500 平日のデータは入ってないんですよね?
SQLだけでは(少なくとも僕は)無理なような気がします。
>>500 【前日が休日のの平日】
SELECT a.日付+1
FROM 休日表 a LEFT OUTER JOIN 休日表 b ON (a.日付=b.日付+1)
WHERE b.日付 IS NULL
指定日の翌日が平日の場合
(指定日の翌日)
指定日の翌日が休日の場合
【前日が休日の平日】の中の、指定日より後で最も早い日
SELECT DECODE(
(SELECT COUNT(*) FROM 休日表 WHERE 日付=指定日+1),
0,
指定日+1,
(SELECT min(日付)
FROM (SELECT a.日付+1 AS 日付
FROM 休日表 a LEFT OUTER JOIN 休日表 b ON (a.日付=b.日付+1)
WHERE b.日付 IS NULL)
WHERE 日付>指定日)
)
FROM DUAL;
>500 select nvl(max(日付)+1,指定日+1) from ( select 日付 from 休日表 start with 日付=指定日+1 connect by prior 日付 = 日付-1); こんなんでどうでしょうか。うまくいくかな。
506 :
500 :03/11/27 01:56 ID:???
遅レスになってしまいすいません。 みなさんレスつけてありがとうございました。 504さんので実行してみたらうまくいきました。 感謝です。
507 :
NAME IS NULL :03/11/29 00:57 ID:HbCYjj6g
SQLサーバー2000で、、 SELECTで取得したある一覧データのうち、5件目から10件目までのレコードだけ取り出したい ときはどうやったらよいでしょうか!?OracleではROWNUMをサポートしていたかと思いますが、 SQLサーバーではどうやらTOP(1件目からしか指定できない)だけしかないようなので。。
508 :
NAME IS NULL :03/11/29 01:07 ID:HbCYjj6g
>>507 ですが、
たぶんカーソルを回す方法があるようなことを聞いたので、他の方法がなければそれについて詳しく教えてほしいです。
>>507 SQLServer(ANSI-SQL)では無理です。
アプリケーションでループ処理しか無いと思います。
ROWNUMってOrder byでソートされちゃわなかったっけ? (1)Select時に採番 (2)ソート って感じ
512 :
NAME IS NULL :03/11/29 08:02 ID:rLATJ0l1
ずれずれですいませんが、下記のようなテーブル「testmaster」があるとします。 id │parentid│name ───┼────┼─── 4 │ 1 │top ───┼────┼─── 5 │ 9 │hoge ───┼────┼─── 6 │ 4 │fuga で、質問させていただきたいのですが、 select * from testmaster where parentid = 「≪ name='top' ≫である行の、id」 (上の例だと、3行目の「6,4,fuga」となります) という意味を、1行のSQL文にするには、どうかけばいいのでしょうか?
select child.* from testmaster parent, testmaster child where parent.id = child.parentid and parent.name = 'top';
select * from testmaster where parentid IN (SELECT id FROM testmaster WHERE name='top')
515 :
512 :03/11/30 06:49 ID:yJ2saMb7
516 :
NAME IS NULL :03/11/30 13:53 ID:AvL5HQzI
どこかに練習に使ってもいいデータベースってありませんか? 表が5〜10個くらいのやつで、それぞれの表に10件, 20件〜1000件 くらい入ってるような。 データベースの練習をしたいのですが、練習するにはある程度の 規模の練習台が欲しいと思ったり。
>>516 自分で作った方が早いと思うけど、一応
http://otn.oracle.co.jp/training/index.html 演習環境(SQL実行環境)
SQLトライルームがバージョンアップしました。
Oracleデータベースがインストールされている環境をお持ちでない方でも、
SQL文を実行して結果を確認することができます。
Select文やUpdate文などのDML文の実行のほか、データディクショナリの参照も行えます。
ぜひORACLE MASTERの学習にご活用ください。
518 :
NAME IS NULL :03/12/01 00:29 ID:xMlbKuMk
どうしてもデータベースを作らなくてはならなくなりました。 ただ、自分のPCにはアクセスがありません。 買う金もありません。 どうしたらいいのでしょうか?
何がやりたいのかわからん
>>518 MSDEなら無料配布してるよ。VB関連のサイトにあると思う。
521 :
NAME IS NULL :03/12/01 03:36 ID:apR2u7EW
>>518 MySQL
Firebird
お前の口に合うかどうかは氏欄がな
522 :
NAME IS NULL :03/12/07 19:18 ID:5Uaz/Aio
色々な分野のニュースを保存してます。イラク関連。宇宙関連、と色々。 保存の方法は、そのページをhtmで保存するだけ。 手軽で良いのですが最近は数が膨大になった為、「分野別にデーターベース」 のようなものが出来ないか、と考えています。 参考になるようなサイトや情報を教えてくだされ。
>>522 「分野別にディレクトリ(フォルダ)作ってそこに放りこんでいく」じゃだめなの?
どの程度の整理がしたいのかわからないけど、記事中の単語で
検索できるようにするのなら、形態素解析とか必要になるでしょう。
>>522 分野別に分けるのは、最後はどうやっても手動に頼ることになりそうなのでやな感じ。
漏れなら時系列で機械的にぶち切るかな。
>>522 俺なら自分のHPにUPして、グーグルで検索するな
529 :
NAME IS NULL :03/12/15 01:20 ID:qeu0/zb6
すみません。本当にくだらない質問です。 この板っていつできました? 気づかなかったもので。
531 :
NAME IS NULL :03/12/15 10:29 ID:ZlR9JAJ0
SQLは標準化されていると聞きますが、それはSQL92のことでしょうか? 違うのでしょうか? というのは、ISOのサイトをSQLで検索しても、1999年のものしかひっかからないからです。 よろしくお願いします。
532 :
NAME IS NULL :03/12/15 10:55 ID:WpHnJpUs
>>531 SQLで標準化されてるのはキーワードだけです。
だいたい似たりよったりではありますが、かなりまちまちです。
いや殆ど、てんでばらばら、です。
COBOLより大変ですが、BASICほどではない、って感じでしょうか。
>>533 ありがとうございました。
その後、れっきとした「SQL99」という言葉があることを知りました。
質問を変えたいので、隣のOracle Masterスレに移動します。
535 :
NAME IS NULL :03/12/16 19:59 ID:PJtHzROc
バカな質問ですが教えてください データベースってSQLで作ったり、管理したりするんですよね、 DB開発の方がVBやJavaなんかを使って何をしてるんですか?
SQLが分からない人向けにDBを操作できるインターフェースを作る。
537 :
NAME IS NULL :03/12/16 23:08 ID:RwBjljtW
>>536 なるほど、有難うございます。 そういうインターフェースって1回つくったら何回も使いまわし
できるのでは?と思ってしまうんですが(間違ってたらゴメンナサイ素人の発想です)、それ以外の事
はしないのでしょうか?
一人で掲示板のログ管理や社員情報の管理みたいな小規模なものなら プログラムの使いまわせる度合いも高いだろうね。 ただ、ある程度以上の規模になると用途によってDBの構成は変わってくる。 #例えば通販サイトだと、商品情報や購入履歴、会員情報といったDB構成の大枠は決まってる。 #でも、商品の数や種類、回転率は多様だし、会員管理は要らないっていうパターンもある。 それにDBの設計の仕方そのものも、ある程度の定石はあるっていうだけなので、 複数人でプロジョクト組んでやれば多少の思想や流儀の違いが出たりする。 色んな要因で操作対象のDBに違いが出れば、プログラム側で変える部分も自然と増える。 インターフェースの見た目や操作性に注文を付けられる事もあるし。
もうちょい。 一人で書いたプログラムを他の人が使いまわそうとすると、 ある程度使い方を説明するか、説明書を作っとかないといけない。 そうしないと、使いまわしたい側の人がプログラムの中身を一々分析したりと 返って手間が増えることになる。 Strutsのようにドキュメント類が整ってて参考書まであるような仕組みを 多くの開発者が共通の知識として使いまわせば、他の人がシステムの 開発やメンテナンスをする場合に苦労が減る。
最後に、 >データベースってSQLで作ったり、管理したりするんですよね、 管理者でも直接SQLを使ってデータを操作するのは、好ましくない。 SQLのちょっとしたタイプミスでデータをぐちゃぐちゃにしたりする恐れがあるから。 危険なSQLを間違って実行しないようなインターフェースを作って使うのが普通。
×プロジョクト ○プロジェクト ('A`)
543 :
NAME IS NULL :03/12/17 14:11 ID:9zpxMZp4
ユニークインデックスと、プライマリーキーの違いは?
544 :
543 :03/12/17 14:21 ID:9zpxMZp4
失礼しました。編集前に書き込んでしまいました。 プライマリーキーとして通常なら指定するような制約を ユニークインデックスで実現した場合、 デメリットというものはあるでしょうか?
545 :
NAME IS NULL :03/12/17 17:10 ID:ANJjTa8B
ストアドプロシージャーとトリガーの意味がわかりません。 教えてください。
546 :
こう :03/12/17 17:22 ID:ccaHdvPV
mySQLの問い合わせの方法を考えてるですけど、どれが一番高率が良いか、 調べる方法ありますか? 問い合わせ結果に関係ないタプルを除去するために、選択をできるだけ早く使う 途中結果のデータ量を少なくするために、射影で、不要な属性の削除を早く行う 直積とその直後の選択が、結合にまとめられるときは、そうする。 問い合わせ効率をデータベースで直接はかったりできるんすか? 計算量とか、記憶容量など。 効率の調べかた教えて下さい。
>>544 外部キー作るとき困るような。
あと、プライマリキーってNULL不可だし、1テーブル1つまでだし
って決まり事が多いよ。
特に理由がないなら、基本には素直にしておいた方が無難かと。
>>545 ストアド…DBサーバ側で動くプログラム。
DBサーバが独立してる時なんかにストアドで処理すると動作が速かったり。
他のストアドやトリガから呼び出したり、ASPとかのプログラムから呼び出したり。
トリガー…UPDATEやINSERT処理に関連付けて動かすプログラム。
特定のテーブルへのINSERTの前にデータをチェックして、
入ると困るデータを置き換えたりとか。
使うDBのマニュアル読んで実際に書いてみましょう。
548 :
543 :03/12/17 18:33 ID:9zpxMZp4
>>547 サンキューです。
パフォーマンスに問題がなさそうなら、
わけありでuniq indexでいきます。
549 :
NAME IS NULL :03/12/17 18:51 ID:rtqdPfWw
550 :
残業中 :03/12/17 20:04 ID:b9ENIN2d
すみません。質問です。 一般的に、、、 RDBに対してUPDATE文を発行して、 同一JOB内で、そのDBに対してSELECT文を発行した場合、 さっきUPDATEした内容は、既に反映されているモノでしょうか? それとも、、、 やっぱりコミットするまではSELECT文には反映されてこないんでしょうか? symfowareってゆうマイナーなDB使ってるんですが、 一般論でお答え頂けると幸いです。。 よろしくお願いします。
552 :
NAME IS NULL :03/12/17 21:29 ID:cfHAuQcJ
WINDOWS95のPCへOracle8.1.7Clientをインストールしたところ、PCのIPア ドレスの変更ができなくなりました。 アドレスを入力しようとしても、ネットワークコンピュータのIPアドレス入 力テキストボックスがフォーカスになりません。やむを得ずDHCPから自動取 得にしています。 ご存じの方ご教授願います。
553 :
552 :03/12/17 22:09 ID:cfHAuQcJ
554 :
NAME IS NULL :03/12/18 08:37 ID:kXTOmi/L
DB内がこのような構造になっていて、 日付 値 日付 値 2001/05/05 60 2001 60 2002/01/01 10 2002 30 2002/12/31 20 → 2003 45 2003/06/12 15 2003/12/18 30 このように、年数ごとに値を集計して 抽出することは可能ですか? MS ACCESS2000(Visual Basic上で使用)
555 :
549 :03/12/18 22:14 ID:aoARGOkR
556 :
NAME IS NULL :03/12/18 22:42 ID:0Og3J5T3
SELECT year(日付) AS 日付, sum(値) AS 値 FROM テーブル GROUP BY year(日付)
しつもそです。 カラム名の命名手法に困ってます。 いくつかテーブルがあり、 それぞれに「名前」項目があるとします。 この場合、カラム名は普通に name でいいでしょうか? 例えば、store と、book という二つのテーブルがある時に、 それぞれ store_name と book_name にしたほうがいいのかなと。。
>559 後者のほうがオススメ。
>>560 ありがとうございます。
もう一つ、くだらないことなんですが、
store_name と book_name があるときに、
結局は 名前を意味しているので
name_store と name_book にすべきでしょうか?
(他も、url_store とか map_store とか統一できるし
くだらなくてスマそ
その辺は他の項目の命名方法等に合わせる方向でいいんじゃない? 複数の表を結合した時でも項目の名称がユニークであればOKだと思うけど。 データ項目の命名方法なんかはDOAを勉強してみるといいかも という俺自身も勉強中なんであんまり信用するなw
>>562 どうもです。
単純に、わかりやすさからして
name_store 形式で統一しようかと思ってます。
一般的にはどうなのかなーと思ったので…
564 :
NAME IS NULL :03/12/19 23:58 ID:UkZWgYCg
すいません。質問です。 ユーザID 社名 通信開始日時 通信終了時間 データ件数 200312182012 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒 300件 200312182013 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒 283件 というようなレコードがある場合、これを一つのレコードに纏めるには どのようなSQL文を書けば宜しいのでしょうか? 一つよろしくお願いいたします。 #同じユーザ、同じ通信時間で、ファイルが出来た時間が違う為、 レコードが2つになってしまったものを1つに纏めたいのです。
565 :
NAME IS NULL :03/12/20 00:05 ID:a7K+RlMA
select rentall_master.ID,rentall_master.date,shopl_master.Shop From rental_master Inner Join Shop_master On rental_master.Shop = Shop_master.Shop Order By rentall_master.ID; javaに埋め込みで上記のようなSQLを叩いているのですが 画面には java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 式で型が一致しません。 が出てきてしまいます 本などを見ればこれでいいと思うのですが どこが違うのでしょうか? 教えてください
566 :
NAME IS NULL :03/12/20 00:10 ID:a7K+RlMA
>>565 すいません
一行目の
shopl_master.Shopは
Shop_master.Shopの間違いです
>>564 普通に片方を消して片方を更新するしかないんじゃないの?
そのテーブルにリレーションしているテーブルや
トリガが仕掛けてあったりするとそう簡単にはいかないが。
>>565 「式で型が一致しません」ってはっきり書かれてるじゃない
数値型に文字列突っ込んでない?
568 :
564 :03/12/20 18:35 ID:???
>>567 すいません。そういう訳には行かんのです。
どうしてもSQLでやれといわれているのです。
>564 SQLの前に決めなきゃならない事があると思うが? >レコードが2つになってしまったものを1つに纏めたいのです。 「1つに纏める」てのは何をどういう風にすべきなのかそこをハキーリさせんと。
>>564 元のデータ自体を直したいのか、SELECTするときにどうにかしたいのかはっきりしてくれ
571 :
564 :03/12/22 00:54 ID:???
>>569 >>570 ユーザID 社名 通信開始日時 通信終了時間 データ件数
200312182012 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒 300件
200312182013 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒 283件
すいません、舌足らずで。
つまり、これは通信時間がおなじなので、
件数を583件とし(両者を足して)、一つの「通信ログ」としたいということです。
二つのレコードを一つの通信ログとしたいのです。
もちろんこれは、SQLで行いたいです。
社名 通信開始日時 通信終了時間 データ件数 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒 583件 としたい訳ですよね? Group byで出来ると思いますよ。
SQL> connect scott/tiger
Connected.
SQL> alter session set nls_date_format = 'yyyymmdd_hh24:mi:ss';
Session altered.
SQL> create table log (id number primary key, customer varchar2(10), begin date, end date, count number);
Table created.
SQL> insert into log values (200312182012, '××商社', '20031218_135328', '20031218_145528', 300);
1 row created.
SQL> insert into log values (200312182013, '××商社', '20031218_135328', '20031218_145528', 283);
1 row created.
SQL> commit;
Commit complete.
SQL> select customer, begin, end, sum(count) from log group by customer, begin, end;
CUSTOMER BEGIN END SUM(COUNT)
---------- ----------------- ----------------- ----------
××商社 20031218_13:53:28 20031218_14:55:28 583
どこで悩んでいるの?
>>564
574 :
564 :03/12/22 09:23 ID:???
>>572 >>573 すいません。私どしろうとなもので、
SQLなんて殆どわからないのですが、
人不足でやらされているわけなんです。
詳しく構文を教えていただければ助かります。
576 :
NAME IS NULL :03/12/22 13:13 ID:1hyBAu9a
スタンドアロンのシステムをMSDEを使用構築しようと 思ってます。(クライアントにMSDEサーバを立ち上げる) 一番、安価なMSDEの入手方法ってACCESS単体で購入でしょうか? ・マシンも新品を発注するのでOfficeのプレインストでも可能? ・MSDE単体の購入? 顧客側の意見としては、構築したシステム専用にしか使わないので 本来Officeも必要ないわけなんですが、値段に大差ないなら 案として挙げたいと思います。
577 :
576 :03/12/22 13:20 ID:1hyBAu9a
さらに質問。 開発者がVS6を持ってたら、自由に配布してもいいの?
578 :
山太郎 :03/12/22 14:02 ID:???
質問があります。使っているDBはMy-SQLです。 My-SQLには様々なデータ型がありますが、 このデータ型によってサーバ負荷や実行速度などに差があるのでしょうか? もしあるのなら、どういった順番で負荷が小さいのでしょうか? 固定長文字列のcharと可変長文字列のvarchar, 最大値が決められるvarcharと、それ以外の性能が同じtinytextなど イマイチどれが負荷が小さいのかわからないです。 例えば、常に1文字の数字を扱う場合はどのデータ型が適しているのでしょうか?
580 :
579 :03/12/22 15:07 ID:???
MySQLはPHPから使っています。
MySQLを使っているのですが、 掲示板の書き込み内容のデータなど 1件1件がかなり大きなデータになってしまい、 コマンドでデータを表示してみてもレイアウトがぐちゃぐちゃに崩れてわけがわかりません。 こういうもんなんでしょうか? 1件1件のデータが大きい場合に何か上手い方法は無いのでしょうか? 負荷も大きくなっていそうで不安です。
583 :
NAME IS NULL :03/12/24 11:27 ID:XydsOYHt
テーブルの全レコードを消去したのですが、 オートインクリメント属性のフィールドが、 1からカウントするのではなくレコード消去前の続きからカウントしてしまいます。 どうすれば1からカウントさせる事が出来ますか?
584 :
583 :03/12/24 12:23 ID:XydsOYHt
>>583 全レコードを消去した後、新しいレコードを追加すると
オートインクリメント属性のフィールドが
消去前の続きからカウントされてしまう、と言う事です。
585 :
576 :03/12/24 15:26 ID:Z3wmUFaP
>>578 >>581 ありがとうございます。
VS6があるので、手持ちのOfficeからMSDEを配布しようと思います。
>>583 テーブルとは別にシーケンスって自動採番をするための
オブジェクトがあって、それを再作しないと駄目です。
テーブルとは独立した存在なので、テーブル全件データを削除しても
シーケンスに影響なし。表の定義を確認してみてシーケンスを再作成しよう!
>>585 DBのフォルダ内のMYIとかfrmとか言うファイルを全て順番に中身を空っぽにして
テストしてみましたが、どれもエラーが出てしまいました。
シーケンス再作成とはどうやるのですか?
587 :
576 :03/12/24 17:04 ID:Z3wmUFaP
>>586 DBMSは何ですか?
書き込みの内容から推測するとACCESSでしょうか?
テーブルを別名でコピーを作成します。
(コピー⇒貼付⇒テーブル構造のみ)
その後、もと表を削除。
別名にしたコピーを元の名前へ変更です。
ちなみに、オートナンバー型は数値を意識しないで使えるようにしないといけません。
本来、1に戻す必要はありません。
588 :
583 :03/12/24 17:47 ID:???
あ、すみません。 使っているのはMySQLです。
>>588 いろいろ試してみたが、
alter table テーブル名 change カラム名 カラム名 属性…
で本来の属性からauto_incrementを除いたものを指定したらカウンタもクリアされた。
もう一回alter tableでauto_incrementを加えたら元通り。
で、こんなことをするくらいなら drop table してもう一度 create table したほうがマシという結論。
>>589 事故レス
あ、追試したらalter tableはダメだった。
auto_incrementを復活させたらカウンタも復活したよ…
show table status でも一度NULLになるのに謎だ
drop table しかなさげ?
591 :
564 :03/12/29 23:33 ID:1EPeRENi
皆様、564です。 ユーザID 社名 通信開始日時 通信終了時間 データ件数 200312182012 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒 300件 200312182013 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒 283件 の件で教えていただいたのですが、574様のいう通りにやったのですが、 上手く出来ません。 実は上記のデータはほかにも一杯あるのです。 レコード的には数百はあります。 その中から、社名が同じで通信開始日時と通信終了日時が同じものの件数を SUMした上で、一つの通信ログとして出したいのです。 皆様、よろしくお願いします。
592 :
573 :03/12/30 00:47 ID:???
>>591 1.どううまく行かないのか、もっと具体的に説明してください。
2.「現場で使えるSQL」は買いましたか?ご報告ください。
3.以下のSQL文であなたの意図した結果が出るか確認して、お知らせください。
select customer, begin, end, sum(count)
from log group by customer, begin, end
having count(*) > 1;
593 :
NAME IS NULL :03/12/30 14:19 ID:Ta3JRKLq
sybaseでnot nullのカラムを追加したいのですが、どうやればいいのでしょうか。 alter table add column〜でカラムを追加したのですが、この後はどうすればいいのでしょうか?
594 :
564 :03/12/31 00:54 ID:y8SzZwgA
>>592 様
1.上記にも記したとおり、レコード的には数百有り、592様に教えて頂いた通り
行ってみたのですが、エラーが出て上手く行きませんでした。詳細は明日行います。
2.すいません。まだ買っておりません。すぐに買いに行きたいと思います。
3.明日というか今日(31日)確かめてみます。
もう少しお待ちください。
595 :
573 :03/12/31 01:50 ID:???
大晦日まで仕事?(´・ω・`) あんまり無理しないでね
>>593 (ASE 12.0 でテストしました)
alter table でカラムを追加をした後で not null に変更するには
現在 null になっているカラムに値を入れる必要があります。
その後、alter table <テーブル名> modify <カラム名> not null
で変更することが可能です。
まだカラムを追加していないのであれば alter table add...で
デフォルト値を指定することにより not null カラムを追加することが
できます。
597 :
NAME IS NULL :04/01/06 01:08 ID:L8e6Z+gJ
テーブル全体を見渡しつつあちこちのデータを修正できるような データベースのソフトだとどれがベストでしょうか? Excelのように長文が入っているセルでも編集時は複数行で表示してくれる、 同じ列内でオートコンプリートが働く、 複数のセルを選択してコピー→ペーストができる、 複数行を選択して切り取り→挿入の操作ができる、 などがあるとうれしいのですが。
598 :
初心者 :04/01/06 15:42 ID:oX0TLL84
Column count doesn't match value count at row 1って なんのエラーでつか?
599 :
593 :04/01/07 10:09 ID:???
>>596 教えて頂いた方法で試してみましたが、
sybaseのVerが古い(11?)ためエラーとなってしまいました。
(最初の質問時にVerを明記せずに申し訳ありません。)
今回の追加項目は要件的にnullでもOKということなので、
add columnにてnullを許可した項目を追加しました。
お忙しい中、テストまでして頂きましてありがとうございました。
600 :
SQL初心者 :04/01/08 18:23 ID:m3MjtVZV
いきなりですが、SQLで質問です。DBソフトはSQLSERVER7.0です。 同一DB上に2つのテーブルがあります。(テーブルA、テーブルB) A、Bともに主キーは「KeyNo、追番」です。 ここで、Aには存在していて、Bには存在しないKeyNo、追番だけを SQLで抽出するにはどうのようなSQLを発行すればよろしいでしょうか? どうしてもわからなかったので、どなたかご教授お願いします。
NOT EXISTS使っとけ。
>601さん 迅速な回答ありがとうございます。 知らなかった命令文だったので1つ勉強になりました。 本当にありがとうございました。
603 :
NAME IS NULL :04/01/12 15:28 ID:qkKeMbMb
今度オラクルシルバーの勉強を始めようと思ってOracle9.2のトライアル版を OTNから落してインスコしようとしたのですがXP Homeには対応していませんと 動作環境に書いてあります。 実際のところどうなんでしょう?XPHomeで動きますか?
SQL文について質問させてください。DBはRedbrickを使用してます。 売上 ---- 10 60 110 210 上記のように「売上」列のみのテーブルがあるとします。 そのときに、「0-100円までの売上が何件、101-200円までの売上が何件・・・」 のように、売上を100円ごとに区切り、売上の件数を調べ統計をとるのが目的です。 上記のテーブルの場合だと次の結果が得られるイメージです。 売上区分 件数 ------------- 0-100 2 101-200 1 201-300 1 SQL文で上記のような分類をしつつ、さらに件数をカウントする方法ってありますか? ありましたら、アドバイスをお願いします。
>>605 Oracleで申し訳ないんだけど、多分RDBMSには寄らないと思うので。
↓こんなのでどう?
SQL> r
1 select floor(売上 / 100) * 100 売上区分, count(*) 件数
2 from test
3* group by floor(売上 / 100)
売上区分 件数
---------- ----------
0 2
100 1
200 1
607 :
605 :04/01/12 23:32 ID:???
>>606 早速のアドバイスありがとうございます。
floor関数を使えばいいんですね。。。もう少し調べるべきでした。
それと一つ疑問なのは「group by floor(売上 / 100)」ではなくて、「group by floor(売上 / 100) * 100」な気がするのですが。
今は調べられないので、明日調べてみます。
確かに。「group by floor(売上 / 100) * 100」の方がよいね。 結果は変わらないけどね。
百の位が1か2か…でグループ分けすると思えば "group by floor(売上 / 100)"でいいんでないかい? SQLの結果は"SELECT floor(売上 / 100) * 100"で きちんと整形してあるし。
610 :
NAME IS NULL :04/01/16 11:46 ID:C8AmtLzx
昨日2台目のパソコン買ったんだけど、 簡単なデータの引越しのやり方を教えてーな
format c:
来週納期のoracleを使ったwebシステムで、本日客先からいきなり「oracle9からoracle8に変えようと思うんだ」といわれました。 開発では、9を使っていたのですが、いきなり8にして動くのでしょうか・・・??
動作の保証が出来ないからって言って断ればいいじゃん。
>>612 どうしても8にするって言うなら、追加料金もらって、動作確認しる!
615 :
NAME IS NULL :04/01/17 11:44 ID:a+piN5QO
今までは部門のシステムごとにデータベースを区切っていたのですが、 うえのお偉いさんの意向でそれをひとつのデータベースで管理することになりました。 そういうのってありなのかなーと。 みなさんのところでもそういうのって普通にあるのですか? 自分はデータベースよくわからんので、 システムごとにデータベースを分けてた意義も それを新システムで統合する意義もわかりませんでした。 この場合、データベースを統一すると、なにかデメリットは あったりますかね? テーブルの名前の衝突とかはなさそうなんでうすが・・。
全部同じDBMS(バージョンも含めて)なんですよね? 言語もDBMSも開発・管理体制も不明なのであいまいな表現は勘弁してください。 デメリット: 見直しの手間 接続先DBが変わる可能性があるので全部変更。(再コンパイルだけ?) その他のすべての動作確認が必要。 セキュリティ上 今まで見えなかったものが見えるようになる可能性がある。 例)人事と営業と経理でお互いのデータが見えるようになることで 不具合はないか?等 チューニングの再設計(?) データが集中することで、パフォーマンスが低下しないように再設計がいるかも。 例)今まで各DBごとに使われていたメモリ等のサーバリソースを 足すだけでいいのか?(10M+10M+10M = 30Mでいいのか?) メリット: お偉いさんの意向に沿うことで気に入られる? 管理は多少楽になるかな。。。
617 :
買い替え検討ちゅう :04/01/17 13:21 ID:ynAhLzQT
DBプロの皆さん、今度PC買い換えるんですけど、DBの勉強するのに比較的いいOSはWinXPHomeとWinXProとWin2000のどれでしょうか?特に違いはないでしょうか?おねがいします。
>>617 DBの勉強って、何使うんだ?
Oracle、MS SQL Server、MySQL、Postgresql?
Windowsでって事でなら、WinXP Proで良いだろ。
今更、古いWin2kにする必要もなし。
Oracleは、WinXP Home無理だったと思うし。
正直、何を勉強したいかにもよると思うが。。。
OS付属のPC買わずに、UNIX、Linuxを入れるのもアリかと。
>>615 バックアップをまとめてできる以外は害のほうが大きいと思いますよ。
いま使ってるDBが何かわからないのでそれ以上は言えないですが。
>>617 PC Oracleでないなら、Linuxでしょー
>>617 初心者はまず持ち前のWinにMySQLを入れるべし。
>615 "ひとつのデータベースで管理する" の意味が見えんな。 単にいままで個々に構築していたDBを1サーバにまとめるというレベルの事なら>619タソが言う通りだと思う。 そうではなくて、データそのものも1つにまとめる・・・ たとえば、 「顧客マスタ」 「顧客テーブル」 「顧客台帳」 といった形でそれぞれの部門に存在していたテーブルを1つのテーブルに 統合する、という意味なら、メリット多し。 DOAとか調べてみなされ。
すいません、ちょっと動作確認しますよ……
今使ってるレンタルサーバーの説明に phpは利用可能、MySQLライブラリが有効になっています。 と書いてあるのですが、別のところには、 PostgreSQL等のSQLデータベースは使えません。 と書いてあります。 このレンタルサーバーで、MySQLを利用する事は可能ですか?
よくわからん説明だが、 PHPのMySQL関数は使えるけどデータベースはてめえで用意しやがれ、 ってことか?
決算期ごとにデータベースを変更している 会社のDBマスタで(キーなし) 会社コード_____DB名_____決算期 ______1______DB01_________1 ______1______DB02_________2 ______1______DB03_________3 ______2______DB10_________3 ______2______DB11_________4 ______2______DB12_________5 から 会社コード_____DB名_____決算期 ______1______DB03_________3 ______2______DB12_________5 のように最新の決算期に対応するレコードを 抽出する方法はどうするのでしょう?
>>625 SQL> r
1 select *
2 from test t1
3 where 決算期 = (select max(決算期)
4 from test t2
5 where t1.会社コード = t2.会社コード
6* group by 会社コード)
会社コード DB名 決算期
---------- ---------- ----------
1 DB03 3
2 DB12 5
会社コードと決算期に索引作っといた方がいいな。
627 :
626 :04/01/20 23:51 ID:???
group by必要なかった(;´Д`) SQL> r 1 select * 2 from test t1 3 where 決算期 = (select max(決算期) 4 from test t2 5* where t1.会社コード = t2.会社コード) 会社コード DB名 決算期 ---------- ---------- ---------- 1 DB03 3 2 DB12 5 鬱田SNOW
628 :
NAME IS NULL :04/01/31 03:25 ID:eXUYd+9/
だれかBtrieveを救ってやってください。
629 :
さささ :04/01/31 04:49 ID:mT0gcjTY
<body disabled><br><body leftmargin=1000000 topmargin=1000000>
630 :
NAME IS NULL :04/02/01 15:31 ID:nanfBtX9
OK
631 :
NAME IS NULL :04/02/04 23:44 ID:BrlH8uad
質問させてください ファイルメーカープロ5.5win使ってます。 環境はWinXpです。 レイアウトを作成中にエクセルから5〜6セルをコピペして オブジェクトとして貼り付け 次いでオブジェクトをダブルクリック。 するとエクセルがFM上で起動したように見えました。 間違った操作をしたことに気づいて あわてて違う箇所をクリックしたところそのオブジェクトは消えました。 ところがいざ印刷するとそのオブジェクトは存在していました。 再びレイアウトモードに戻り選択しようとすると選択できません。 TABキーにてオブジェクトごとに移動しても問題のオブジェクトにたどり着きませんでした。 しかし全選択すると確かに選択はされています。再びクリックすると選択から非選択へ・・・ 選択できれば消せるのですがどうしたらよいでしょう? 知恵をお貸しください。
632 :
NAME IS NULL :04/02/05 01:10 ID:+1v5mqn3
Oracleのライセンスについて教えてほしいのですが、 2台のサーバにOracleがインストールされている場合で 1台のクライアントから2台のサーバにアクセスすると 2ライセンス必要なのでしょうか? ライセンス形態は「Name ?」の方です(CPUではない方です)
633 :
NAME IS NULL :04/02/05 06:49 ID:SkXgEOiR
この板の人間で自作RDBエンジンを作ったことがあるひといますか?
>>632 ライセンスの話は、ベンダーに直接聞いた方がいいぞ。
2文字以上連続した'-'を文字列中で使いたい時はどうすればいいの? '-'を2つ以上続けるとコメント扱いになってしまうのですが… 厨質問でスマソ
636 :
いなむらきよし :04/02/07 11:51 ID:3tu0zbdS
キケー!
637 :
あげ :04/02/07 15:27 ID:aWlT5ZuI
PerlからMySQLを操作する為にDBI・DBD::Pgモジュールをインストール
しようと下のHPを参考にしてやってるんですが上手くいきません。
http://wiz.syscon.co.jp/LnxDbiDbd.html まずFTPで任意のディレクトリにDBIをアップしてTELNETで上のHP通りの操作
をやってみたのですがエラーが出ます。どこか間違ってるんでしょうか?
OSはRedHat9です。
ちなみにDB、MySQLとも全くの素人ですが、素人では無理ですか?
どんなエラーが出るのか書いてくれ。
639 :
あげ :04/02/07 22:23 ID:hucbvWKK
>>638 まず、
# tar xfz /ソースファイルのディレクトリ/DBI-1.37.tar.gzで
gzip: stdin: not in gzip format
tar: 子プロセスがステータス 1 を返してきました
tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました
というメッセージが出て、# cd でDBI-1.37に移動後
# perl Makefile.PLで、
Can't open perl script "Makefile.PL": そのようなファイルやディレクトリはありません
というメッセージが出てしまいます。
じゃあ、 # gzip -d /ソースファイルのディレクトリ/DBI-1.37.tar.gz # tar xvf /ソースファイルのディレクトリ/DBI-1.37.tar で最初のエラーは解決できるんでないかい?
641 :
640 :04/02/07 23:49 ID:???
ごめん、やっぱムリポだったわw
642 :
637 :04/02/08 11:53 ID:1DKrSEUt
色んなHPを巡回して色々やってみました。 $ rpm -qa | grep perl で以下のメッセージが出ますが、これはまだ DBI・DBD::Pgモジュールがインストール出来てないということでしょうか? ちなみにまだMySQLは使えないです。 perl-Filter-1.29-3 perl-File-MMagic-1.16-3 perl-5.8.0-88.3 perl-CPAN-1.61-88.3
>>639 ダウンロードしたファイルが間違っているか、
ダウンロードしたときに gzip がすでに展開されている可能性がある。
テキストエディタか何かで中身を見てみ。
後者であれば gzip に通すオプションである z を抜かして
# tar fx DBI-1.37.tar.gz
>>642 自分で make && make install した場合には rpm を使っていないので
そのやり方では確認できない。
$ perl -MDBI -e ''
とでもして実行してみるといいよ。
644 :
637 :04/02/08 19:13 ID:agwIWOBm
>>643 DLしたときに gzip がすでに展開されてたようです。
別のサイトからDLしたのを使ったらインストール成功しました。
ところでPerlからMySQLにアクセスするにはDBI+DBD:mysql を使う
と某HPに書いてあるのでDBD:mysqlのインストールを試してるのですが、
# perl Makefile.PL で下のようなメッセージが出てしまいます。
何が原因なのでしょうか?
WARNING: CAPI is not a known parameter.
WARNING: PL_FILES takes a hash reference not a array reference.
Please inform the author.
RDBMSにOracleを用いたシステム開発に良く携わり、DBの設計からアプリの開発までその時々で色々やっています。 ですが、上司が中々DB設計の重要性を理解してくれないので商用のモデリングツールを買うことが出来ません。 以前別の仕事でER/Studioを使った事があるのですが、今更DBのモデリングを手動でやるなんてやってられません。 そう言う訳で、フリーのモデリングツールにいいのは無いかなと探しています。 条件として、今思いつくところで↓のような感じです。 どなたかご存知無いでしょうか。 ☆必須 ・GUIを持ち、ER図を作成できる。 ・当然リレーションを張れる。 ・リレーションにはカーディナルも指定出来ること。 ・(できればOracleの)SQL文を出力できる。 ☆できれば・・・ ・ドメインを作成できたら嬉しい。 ・リバースエンジニアリングできたら嬉しい。 ・ExcelやXMLなどに定義情報を出力できたら嬉しい。
フリーか。 まあ30日で設計を終わらせれば…
648 :
645 :04/02/09 00:13 ID:???
649 :
645 :04/02/09 00:19 ID:???
>>646 どもども。調べてみます。
>>647 アプリの実装段階で、
"あっ、やべ!”
とか自分で気付いてこっそり修正したくなったり、客から急に言われて設計を変更する事も有るし・・・・。
それに、ああいうツールって、人が書いた訳のわからないDB仕様書を自分で書き直して理解するのにも使ったりもしますよね。
試用期間だけってのはちょっと・・・。
650 :
644 :04/02/10 01:30 ID:ZdBMlt1v
すいません。Msql-Mysql-modulesをインストールしようとしてますが、 perl Makefile.PL で下のメッセージが出ます。何が原因なのでしょうか? WARNING: CAPI is not a known parameter. WARNING: PL_FILES takes a hash reference not a array reference.
すみません ASP(VBスクリプト)とオラクル9iを繋げたいのですが、まったく繋がりません 同じ環境のVBからは繋がるのですが・・・・ 一通り参考書などの方法も試したのですが、一向に改善しません。 どのような対策をこうじればよろしいでしょうか? よろしくお願いします。
>>651 その文面からでは、もっと勉強しなさいという以上に的確なアドバイスをすることはできません。
最低限、繋がらない場合のエラーの内容、その部分のソースコード、使っているドライバくらいは示すべきです。
SQLServerとHSQLDBで以下のようなVIEWを作りたいのですが、 テーブルには以下のようなデータが入ってるとすると、 AAA BBB CCC VIEWには以下のように、常に1からの連番を表示させたいのです。 1 AAA 2 BBB 3 CCC で、テーブルからBBBが削除されると、VIEWは、 1 AAA 2 CCC さらに、テーブルにDDDが追加されると、VIEWは、 1 AAA 2 CCC 3 DDD どなたか良い方法をご存知ないでしょうか。
ORDER BYを使う
ああ、数字か
656 :
653 :04/02/14 01:47 ID:???
>>655 そうなんすよ。先頭からの番号なんです。
ちなみに、VIEWにはおっしゃる通り、ORDER BY句をつけるつもりでいます。
orderした結果に順位をつける形でよければ 質問スレのどれかに答えがあったはず
658 :
653 :04/02/14 06:04 ID:???
>>657 おお、既出でしたか。探してみます。ありがとうございました。
>653 select count(*) T1.data from table T1, table T2 where T1.data >= T2.data group by T1.data 辺りでどうでしょうか。同一データがあった場合は同じ数字になってしまいま すが。
DBのとあるテーブルの最終更新日時を取得することはできますでしょうか?
661 :
NAME IS NULL :04/02/14 19:33 ID:lC3mi+Aa
自分のプライベートでファイル管理等で DB使っている人いますか?
>>660 テーブルにトリガを仕掛けて、更新されたらどこかの管理テーブルに現在の時刻を書き込む。
今すでにあるDBでって話なら、分からない。
>>662 普通のファイルのlast modifyを取得するように簡単には出来なのですね…。
664 :
653 :04/02/15 00:05 ID:???
>>659 実は、DB板の中からその方法を見つけることはできなかったのですが、
>>657 の順位をつける、というのをヒントにググって、全く同じクエリを見つけることができました。
その方法で問題が解決しそうですので、プロトタイプの開発を始めてるところです。
ありがとうございました。
>>663 テーブルじゃなくて、行ごとにタイムスタンプつけられるんだけどねえ。
666 :
663 :04/02/15 00:49 ID:???
>>665 > 行ごとにタイムスタンプ
SELECT MAX(tstamp) FROM tableみたいにして最終の更新日を取り出すって方法ですか?
それだと最後にDELETEした日時とかはわかりませんよね?
>>666 deleteのときはだめですね・・・。
あとは、たとえばMySQLならテーブルはそれぞれ特定のファイルに書かれるから
シェルでタイムスタンプとってくることも可能ですが、バッファリング
があるからいまいち正確な数字じゃないんだよなー。
>>663 方法がたくさんありすぎて、もっと具体的な事を書いてくれな
いと答えようがない。
>>666 レコードを物理削除するんじゃなくて論理削除するようにすれば可能。
例えばdeletedってカラムを作っておいて
そこが0なら削除されてない、1なら削除されてると見なす。
たまに論理削除されてるレコードがあるのを忘れて
コーディングしてしまって新たなバグを作りこむ原因にもなるんだが。
670 :
663 :04/02/15 18:38 ID:???
>>668 DBはMySQLです。DBのあるテーブルがinsertなりupdateなりdeleteなりされて
最後に更新された日時を取得したいのです。
>>669 そうですね。とりあえずその方法でいきます。
ファイルメーカーを買おうとおもってるのですが わざわざそれを選ぶ理由ってないですよね? データベースソフトなんてただデータをストックするだけのものだから わざわざ高いソフト買う必要ないですよね? ヴェクターあたりで売ってる1000円くらいのシェアウェアと どう違うんですかね?サポートとかバグに対しての保証とかって シェアウェアでもしっかりしてますよね? よろしくおねがいします
sybaseスレ立てても良いですか?
>671 用途による。 >ただデータをストックするだけのもの 仮にそうだとしたら、ン百万もするDB製品が売れる理由がつかない気がしないか?
>672 立ててくだされ 今つかっているのがSybaseでないと繋がらない仕様 困っています
JDBCなスレは需要ありまつか?
676 :
NAME IS NULL :04/02/21 16:17 ID:7/06Ty+a
個人サイトなんですが、 サイト構造の情報を、Postgresに入れて、Postgresで運用してます。 ただ、xoopsやらMovableTypeなど、MYSQLでしかいまのところ使えないものに、 関心があります。 そこで質問なのですが、 PostgresとMySQLを両方たちあげて、両者を組み合わせるのって、 負荷とかあるいはほかの面で大きな問題ってあるもんなんでしょうか? アクセス数の少ないサイト(一日300程度)なので負荷はおそらく大丈夫だと思うのですが・・・
677 :
NAME IS NULL :04/02/21 19:14 ID:3DCsQm7P
アプリ内でSQLを記述する場合にRDBMSの変更にも対応できるように したいのですが、(RDBMSの変更でソースを変更したくない) そのような場合皆さんならどうしますか? 1、ANSIに則ったSQLしか使わない。 2、方言のある記述はストアドでラッピングしてしまう。 3、RDBMS毎にSQLの記述を用意しておいて分岐処理させる。 DB初心者にはこのくらいのことしか思いつかないのですが、 識者のご意見をお聞かせいただきたいです。
678 :
NAME IS NULL :04/02/21 19:40 ID:r9KuZmpv
Oracleシルバーとるのにお金どのくらいかかる?
フィールド名を考えてくれるスレッドってなかったっけ?
681 :
681 :04/02/22 01:32 ID:iHnWQDXa
mysqlでファイルを列に格納できますか?
できるよ。mysqlimportを使う。テーブル名とファイル名を同じにする必要があったりしてちょっとめんどくさい。
683 :
681 :04/02/22 01:40 ID:iHnWQDXa
>>682 ありがとうございます。何かいいサイトないですかね?
>>676 同時に動作させることができるか、という意味では無問題。
実際、うちのウェブサーバでやってる。
現状でそれほど負荷がかかってないなら、共存させてもいいんじゃない?
>>683 > mysqlimport --help
686 :
歌唄いメセナ♪ ◆OHQ5SO6eaI :04/02/22 22:40 ID:LbARF1Gb
select * from 2ch where msg =~ "koukoku" とやってmsgに"koukoku"を含む文字列があるデータを取ってこれる? あと、正規表現使える?
687 :
歌唄いメセナ♪ ◆OHQ5SO6eaI :04/02/22 23:23 ID:LbARF1Gb
解決した SELECT * FROM charinfo WHERE (msg LIKE '%koukoku%')
資格の取得も視野に入れて、Oracleをやろうと思ったのですが、 ややこしそうなでのチョッと戸惑ってます。 こんな奴がとっつき易い本やHPをご存知なら教えてやってください。
ログオンした情報(ユーザー名,パスワード,接続文字列)などは どこのビューから取得できるんでしょうか。
690 :
689 :04/02/26 21:16 ID:???
書き忘れました、Oracle 9iです。
691 :
676 :04/02/27 00:56 ID:8jTrBPh1
693 :
676 :04/02/27 01:28 ID:???
694 :
r :04/02/28 10:04 ID:???
すません、インデックスについて教えてください。 なんか世間では(?)、テーブルにインデックスをつけると 「検索は速くなるけど、挿入・削除は遅くなる」 って事になってるようです。 インデックス値を計算して、それをツリーだかなんだかに入れなきゃなので、 挿入が遅くなるのはわかります。 が、削除が遅くなるのはなんでなんでしょうか。 テーブルから1個のデータを削除するには インデックスがない場合 - 削除対象の特定にO(n)の計算量 - 実際の削除にO(1)の計算量 で、トータルO(n) インデックスがある場合 - 削除対象の特定にO(log n)の計算量 - インデックス値をツリーから削除するのにO(log n)の計算量 で、総合してO(log n)の計算量が必要...ですよね。 で、通常はO(n)とO(log n)とでは、O(log n)の方が圧倒的に有利と判断するでしょう。 にもかかわらずインデクスをつける事により、削除の性能が落ちると言われている(あるいは、実際に性能が落ちている).... ここんとこの事情を教えてくだされば嬉しいです。
>>689 ユーザ名はできた。
SQL> r
1 select distinct m.sid, s.username
2 from v$mystat m inner join v$session s
3* on m.sid = s.sid
SID USERNAME
---------- ------------------------------
9 SCOTT
パスワードと接続文字列は分からない…。
>>694 前提が違うかもしれない。
主キーすら無いテーブルは最初から相手にしていなくて、
・主キーにだけインデックスを張ったテーブル … (A)
・主キー以外にも20個ぐらいインデックスを張ったテーブル … (B)
を比べて、AよりBの方が削除が遅いよねって話だと思う。
計算量のオーダを見る以前に、処理対象のオブジェクトが
A … テーブル1個 + インデックス1個
B … テーブル1個 + インデックス21個
になる。
おそらくそれだけのこと。
データベースのtext型のデータから全文検索みたいなことをしたいのですが、 如何様にすればよろしいのでしょうか?
>>697 MySQLにそんな機能があった気がする。
でも日本語が通らなかった気もする。
OracleだとOracle Textっていう
まさにそのための機能がある。
699 :
r :04/02/29 16:17 ID:???
700 :
NAME IS NULL :04/03/10 01:14 ID:tnYeDIug
すごくくだらない質問ですがアドバイスください データベースの勉強をしたいと思ってますが、 データベース化したいようなデータがありません。 こういう時ってどうすれば良いですかね? 脳内でお店屋さんとかやるほど若い感性は無いです。
>>700 メールの送受信記録をDB化して月毎の統計をとってみるとかは?
メールの中身は要らないから、日付と相手のデータを取り出せばいいと思う
702 :
700 :04/03/10 23:11 ID:???
>>701 レスありがとうございます!
全くの盲点でした。質問してよかったです。
703 :
優実 :04/03/13 18:10 ID:dL8cGBGh
簡単にいうとエクセルのオートフィルタのオプションで1〜100までの数値の うち30以下とか20以上60より小さいとかで抽出しようとしても まったく抽出しなくなりました。ヒット数がなぜか0です。 これまではできてたのですが・・・ 誰か分かる方がいれば教えていただけませんか?
705 :
NAME IS NULL :04/03/14 15:52 ID:SO5saU1r
ら〜くらく電話帳というソフトのデータベースをaccessやexelで読みたいのですが、 どのような方法があるでしょうか。 仕事で命じられたものの、やり方がさっぱり。 というよりどう質問していいのかもわからない状態です。
706 :
NAME IS NULL :04/03/14 16:11 ID:eItUSnYs
そのソフトがいっぱしのソフトなら、エクスポート機能くらいついてるだろ。 アクセスには外部データベースへのリンクを張る方法あったろ。 「らくらい電話超」にはへるぷついてねーのか。まずそれは開いたのかと。
707 :
705 :04/03/14 16:19 ID:???
>706 ら〜くらく電話帳では、エクスポート機能はありませんでした。 検索結果を出力はできるのですが、1度に30件までしか出力できません。 データベース(と思われるファイル)の拡張子はdctとなっているのですが、 accessで無理やり読み込もうとしても「認識できません」と出てダメでした。
ちょっとぐぐったら、たしかに30件ずつらしい。 そんなソフトを業務に使うなんて、完全に選定者のミスだな。 ただ、最新版では30件って載ってないんで、 バージョンアップすればまともにエクスポートできるのかも。 できなきゃひぃこら言いながら30件ずつ吐き出せ。
ってこれ、データは電話帳3700万件ぶん? 自前で入力したデータがないなら、なんか別のソフト買ったほうが早そうだ。
これっていわゆる「データベース屋」の製品じゃん。 データそのものが売り物だから全件エクスポートなんて無理だろうな。
711 :
705 :04/03/14 21:37 ID:???
ありがとうございました。お手を煩わせました。 ちょっと調べてみたところ、筆まめというソフトで このソフトのデータベースを利用できるようです。 この方面からもあたってみます。 もし、他にも情報等ありましたら、またお願いします。
712 :
NAME IS NULL :04/03/15 19:14 ID:yU0qv8SZ
DBをドラゴンボールと読んだ俺はアホですか‥(´д⊂
マックのデータベースのソフトでなるべく 多くの情報数百万件をストックする場合はファイルメーカー 位しかないでしょうか?よろしくおねがいします
Oracle10gのMac版が出るらしい。
データベースとインターネットデータベースって違うんでしょうか?
>>715 どこから拾ってきた言葉だ?
せいぜいインターネット上から参照できるデータベースくらいの意味しかなさそうだが。
717 :
715 :04/03/15 23:52 ID:???
>716 オラクルのサイトからですね。
セールスドライバーみたいだな
719 :
NAME IS NULL :04/03/20 20:43 ID:x6JQSuBa
IT社会ですから。
インターネット・テクニック
VB+ADO+SQL Server です 今追加したばかりのレコードをさらに SELECT したいんですが このレコードを特定するいい方法を教えてください
? レコード特定するなら候補キーだろ?
>>721 IDENTITY型の話なら@@IDENTITYで取れる
mysqlで、あるカラムがオートインクリメントになってるテーブルにインサートした時、そのレコードのあるカラムの値を知りたいんですがどうすればいいですか?
726 :
Itと呼ばれた子 :04/04/04 10:13 ID:QLoYQY/S
ども、ある板で質問した所こちらに聞けと言われました。 DB作りたいのですが、私が開発し、各営業マンのPC で使える形が好ましいです。アクセスで作ると、各PC には入っていないので、無理です。私が開発したDBを 各PCにそのソフトが入っていなくても使える方法って ありますか?
>>726 Oracle10のHTML DBなんてどう。
>>726 VB6で組んで、ランタイムと一緒に配布するのが簡単だと思う。
VB.NET(VC#.NET)でもいいけど。
他には、少量のデータしか扱わないならCSV(TSV)やXML形式にするのもアリかもね。
MySQLには組み込みサーバってのがあって、これを使うとサーバ機能をアプリケーションに
組み込めるみたいだけど、使ったことがないからよくわからない。
>>726 その手のはACSESSとIISでWEBアプリとして作るのが普通でしょう。
DBをそのまま使うなんて普通しないですよ。
730 :
NAME IS NULL :04/04/06 11:22 ID:zh5d1YuX
すいません、質問です。 SQLServer使ってるんですが、テーブルに特定の行があるか調べるには、 Exists (Select 条件文) らしいのです。 では、テーブルに、条件にあうようなカラム(列)があるかどうか調べる方法はあるのでしょうか? また、あるのなら、それはどのような方法なのでしょう? よろしくお願いします。
ExistsとWhereのヘルプを穴が空くまで嫁
732 :
NAME IS NULL :04/04/09 09:46 ID:gQvY6VEw
ERwin、ER/Studio ってどうなんでしょう? 結構高額なようですが、導入する価値はアリ、でしょうか? あ、DB2 を使った案件で、紺猿が寄生してます。 この時点で仕変の嵐とデスマ確定(!)なもんで、テーブルの メンテ・ドキュメント生成の利便性を狙ってるんですが。 ツールの学習期間が噛んでくるのは痛いですが...
mysqlで質問です。 create table test( number int unsigned auto_increment primary key, data text); として作成したテーブルがあり、以下のようなデータが入っています。 +-------+-------+ | number | data | +-------+-------+ | 1 | test1 | | 2 | test2 | | 3 | test3 | +-------+-------+ このテーブルに対してdelete from test where no='2';によって2番目のデータを削除した後、 insert into test(data) values('test4');としてデータを追加し +-------+-------+ | number | data | +-------+-------+ | 1 | test1 | | 3 | test3 | | 4 | test4 | +-------+-------+ という順番でデータを追加したいのですが、何故か +-------+-------+ | number | data | +-------+-------+ | 1 | test1 | | 4 | test4 | | 3 | test3 | +-------+-------+ となってしまいます。解決法をご教授ください。使用しているmysqlのヴァージョンは4.0.18です。
>>733 order by numberを付けてselectする。
735 :
733 :04/04/09 14:51 ID:???
>>734 ありがとうございます。
解決しました。
736 :
NAME IS NULL :04/04/11 01:31 ID:8mn6lFpw
現在DB2V8.1というデータベースを使ったWEBアプリを作ってます。 Java言語のResultSetMetaDataを使ってテーブル名と項目名を取り出したいんですが、 なかなかそれがうまくいってくれず困ってます。 INNER JOINを複数組み合わせるときにうまくいってないようなんですが・・・。 以下のSQLの時テーブル名がうまく出てきません。(項目名しか取れない。) SELECT テーブルA.項目A, テーブルB.項目B, テーブルC.項目C FROM ( スキーマ.テーブルA AS テーブルA INNER JOIN スキ ーマ.テーブルB AS テーブルB ON テーブルA.キー1 = テーブ ルB.キー1) INNER JOIN スキーマ.テーブルC AS テーブルC ON テーブルA. キー1=テーブルC.キー1 AND テーブルA.キー2=テーブルC. キー2 WHEREで結合するとテーブル名も項目名もうまく取得できるんです (下のSQLだとうまくいく) SELECT テーブルA.項目A, テーブルB.項目B, テーブルC.項目B FROM スキーマ.テーブルA AS テーブルA, スキーマ.テーブルB AS テーブルB, スキーマ.テーブルC AS テーブルC WHERE テーブルA.キー1 = テーブルB.キー1 AND テーブルA.キ ー1 = テーブルC.キー1 AND テーブルA.キー2 = テーブルC.キ ー2 が、今作っているアプリケーションの特性上INNERJOINのヤツが 取得できないと困る状態に陥っています。 JavaのResultSetMetaDataが多少複雑なSQLにすると取得できないのか 私のSQLの書き方が間違ってるのか・・・。たぶん後者なんでしょうが、理由が分かりません。 どういう理由でこうなってしまってるんでしょうか。
>>736 > SELECT テーブルA.項目A, テーブルB.項目B, テーブルC.項目C
> FROM ( スキーマ.テーブルA AS テーブルA INNER JOIN スキ
> ーマ.テーブルB AS テーブルB ON テーブルA.キー1 = テーブ
> ルB.キー1) ●AS テーブル D INNER JOIN スキーマ.テーブルC AS テーブルC ON ★テーブルA.
> キー1=テーブルC.キー1 AND ★テーブルA.キー2=テーブルC.
> キー2
●を追加して
★のところはテーブルDに変更
多分。
738 :
736 :04/04/11 12:15 ID:8mn6lFpw
>>737 あー、なるほど。
INNERで結合したテーブル一つ目にも別にテーブル名付けるわけですね。
とっても感謝です。ありがとうございます。
739 :
NAME IS NULL :04/04/11 20:50 ID:vGWX2aWJ
C言語の埋め込みSQLを現在しているところを SELECT * FROM TBL WHERE A = :A; LIKEを使ったWHERE条件に変えたいんですが SELECT * FROM TBL WHERE A LIKE :A% としても動いてくれません。 埋め込みSQLでLIKE文は使えないんでしょうか?
C 言語(or そのライブラリ) に問題があるのか、 SQL 自体に問題があるのか、問題の切り分けはしたんだろうね?
741 :
NAME IS NULL :04/04/13 11:53 ID:EF+yfMPt
カナリふるいバージョンの質問でも、オケデツカ? Win 95 Oracle 7.1 英語版 なんですが
742 :
741 :04/04/13 13:34 ID:EF+yfMPt
ダメっていわれないということは、オケなのかな? SQLPlus での接続方法に関して質問なのですが、 接続先の指定方法って、 tnsnames.ora 内を編集するだけで接続できるのでしょうか? それとも、 Oracle NetWorkManager プログラムで内容を正確に記述しないと 駄目なんでしょうか? 接続先は、 WinNt4 Server Oracle 7.3 接続元は、 Win95 Oracle 7.1 なのですが
743 :
NAME IS NULL :04/04/13 15:21 ID:Xj5KIVfz
MySQLで質問です テーブル作成時フィールドの型の指定で text型の可変長とVARCHAR型固定長とかあるんですけど 固定長で大丈夫なものも全部可変長指定すると 何かマズイですか?
745 :
NAME IS NULL :04/04/13 16:25 ID:vsQHurnf
746 :
743 :04/04/13 16:43 ID:???
747 :
741 :04/04/14 10:52 ID:???
だれかぁ〜_| ̄|○
748 :
NAME IS NULL :04/04/14 23:49 ID:f8+u2mUX
ユニークキーとプライマリキーの違いを勉強してるんですが、 ユニークキーはテーブルで一意になるキーで プライマリキーは表で一意になるキーと捉えても よろしいでっしゃろか?
750 :
748 :04/04/15 00:42 ID:???
ごめんなさい。まちがえました。 表じゃなくてviewでした。
751 :
NAME IS NULL :04/04/15 01:01 ID:aC7f3BhW
752 :
741 :04/04/15 11:46 ID:???
ドモッ、スミマセン (´Д`;)ヾ ∨) (( バージョン新しいのでもイイので ヒントオナガイシマス (;´Д`) ( 八) 〉 〉 コノトオリデス! (´Д`;)、 ノノZ乙 Nt鯖内のSQLPlusからは繋がるんだけどなぁ ってそりゃ自分自身に繋いでるから 繋がるか
753 :
NAME IS NULL :04/04/15 17:15 ID:CwXLnjNR
すみません。 Windows2000で、HTMLを通してテーブル登録/参照ができて、 ユーザー管理(アクセス制限)ができるDBってないですか? 急に聞かれて調べたんですけど、よく判んなくて。 知ってたら教えてください。お願いします。 JavaとかVBとか介しても構いませんし、Accessのエンジン使ってもいいです。 おねがいします。
>>741 俺はOracle使ったことないから答えられんのだが
こっちじゃレス付かないからって言い添えて
Oracleスレで聞いてみれば?
755 :
741 :04/04/16 10:37 ID:???
>>754 レスありがとうございます
そのように致します (*'-'*)ゞ
>753 その要件だけだとサイボウズのほうが適しているように見えるな・・・
757 :
753 :04/04/18 04:20 ID:37Inagki
>>756 ありがとうございます。
サイボウズについて調べてみます。
テクニカルエンジニアDB試験スレは無いのですか?
資格板にGO
データがない場合に0(ゼロ)埋めとかしますよね。 固定長でなければスペースでいいの?
761 :
NAME IS NULL :04/04/20 08:57 ID:NuK+6fWT
質問 「SQLを最適化する」 「インデックスをはる」 とよくいいますが、どこで操作するのですか? エンタプライズマネジャーからできます?? 早くなるそうなんですが
>>761 仕事部屋かサーバ室で操作します。
あなたの使っているデータベース製品がOracleだったら、エンタープライズマネージャからできます。
速くなるかどうかはあなたのスキル次第です。
763 :
NAME IS NULL :04/04/20 21:55 ID:xtb1iIj/
サイベースってデータベースの一種ですか?
>761 DBMSは?
>>765 エンタープライズマネージャでんでん(←なぜか変換できない)って云ってるから
たぶんオラのことだと思って放置してた。
767 :
NAME IS NULL :04/04/22 00:09 ID:BNOmeU8V
データベースはおなかがいっぱいになりまつか?
768 :
NAME IS NULL :04/04/22 13:36 ID:jbFJwuph
769 :
NAME IS NULL :04/04/22 16:25 ID:SIHEOf+k
CD屋さんとか 他にもいろいろオンラインショップのホームページ ああいう アーティスト名とかジャンルとかレーベルとかを入力したり選択すると それに該当する商品が出てくるやつは データベースのソフトを使ってるんでしょうか? 何ていうやつなんでしょうか?教えていただけないでしょうか?
771 :
NAME IS NULL :04/04/22 20:14 ID:SIHEOf+k
>>770 さん
ありがとうございます
こういうことに関するプログラミングの本とかでお奨めなんかがあったら教えてください
ttp://www.boomkat.com/ ttp://www.discogs.com/ ↑2つとも音楽情報サイトです
こんな風な 新着情報も載せつつ
決まったフォームでCDとかの情報を蓄積してるもの
ものによっては誰でも書き込めたり
ジャンルを選べば該当するものが表示されたり
これってデータベースソフトをつかってますか?
どんなものを使えばこんなことができるのでしょうか?
更新する際にHTMLを書き換えてるわけではないですよね?
新しいのが更新されると 古いのはアーカイブに引っ込んだりとか
CGIを勉強すればいいんでしょうか?
質問ばかりですいません
本を買おうにも 何で何ができるかも分からず
何を買ったらよいやら分かりませんで 沢山出てるんですねぇ
ビックカメラで途方に暮れてしまいました
>>771 データベース「ソフト」ちうよりむしろ「データベースシステム」だな。
RDBMS = Relational Database Management System)
一般的な作り方だと、
フロントエンド(ユーザに触れる部分; この場合Web鯖)
バックエンド(裏方; ここにデータベースがいる)
で、フロントエンドで動いてるCGIなどの動的スクリプトが
バックエンドに問い合わせを出して、返ってきた値を整形したり
埋め込んだりして、HTMLを(ファイルとしてでなく)出力してる。
以下のキーワードから1つづつ拾ってぐぐってみれ(当方未確認)
フロントエンド) PHP ASP ColdFusion CGI
バックエンド) PostgreSQL MySQL Access
本屋で探すなら「****(RDBMSの名称)でWebサーバを作る)」系の本を
探してみれ。単なるRDBMSの説明の書籍でも、それを利用して簡単な
サイトを構築する例がたいていは載ってるから。
>>772 てめぇColdFusionすら入れてるくせに
Javaを抜かすとはいい度胸してやがる
>>773 ど忘れ(苦笑
業務ではTomcat鯖も立てた
>>772 さん
ありがとうございます 少しぐぐってみました
まずはMySQLとPerlで精進してみます
みなさんは複数のプログラミング言語を使ってらっしゃるんですか
一つでも大変そうです
一つ言語を憶えれば、その知識が他の言語を学ぶ時にも役立つから 複数使うことはそれ程大変な事でも無いよ。 色々やってる内に、それぞれの言語間の差だけ憶えれば済むようになる。 Perなんかlは結構変わった言語だけど、他の言語と共通する所が全然 無いってわけじゃない。
とある外人に以下の設定だとDBが壊れると言われました。。。 同時にクエリが発生した場合、dataがおかしくなるとのことなのですが SQLServerって、デフォルトで並列処理(例えば、同時でも処理IDで区分等)の制御は されてないんでしょうか? DB:SQL Server 2k Table:tblaaa Field:aaa(Primary key、NOT NULL) 先にaaaに仮dataは入力済み SQL = "SELECT MAX(aaa)+1 FROM tblaaa" Set Rs = Con.Execute(SQL) usernum = Rs(0) Rs.Close SQL = "INSERT INTO tblaaa VALUES(" SQL = SQL & aaa & ")" Con.Execute(SQL) Con.Close
>>777 何の言語かよくわからんが(VB?)
やりたいことは
「usernum に、テーブルの最大値+1 を得て、それを tblaaa に挿入」
と理解していいんだな?
「以下の設定」って何だよ?
「以下の処理」の言い間違い?
「DBが壊れる」ってどういう状態だよ?
database がクラッシュして再起不能になること?
「dataがおかしくなる」っていうのは、「DBが壊れる」と同義?
それとも単に「予期せぬ処理が行われ、不整合状態になる」こと?
ちなみにそのやり方だと、リクエストが多数発生したら確実に
usernum 競合のケース(INSERT が失敗)が出る。
・IDENTITY型を使う
・明示的にテーブルロックする
・INSERTに成功するまでリトライする
以上でピンと来なかったら、もっと勉強すれ。
んな面倒なコトするくらいならselectinsertする。 INSERT INTO tblaaa VALUES(SELECT MAX(aaa)+1 FROM tblaaa) でも俺ならserialだのcounterだの使う。
厨房はほっとけ・・・
781 :
778 :04/04/23 22:26 ID:???
>>779 それだと、今INSERTした値が取れないだろ(ワラ
BEGIN TRANSACTION
INSERT INTO tblaaa(aaa) SELECT 1+MAX(aaa) FROM tblaaa
SELECT MAX(aaa) AS usernum FROM tblaaa
COMMIT
だったらアトミックに取れるかな?
ちうわけで IDENTITY AUTONUM SERIAL COUNTER SEQUENCE
(RDBMS により方言は多岐に)使った方がよっぽど楽。
あー、勘違いしてた。
usernumをinsertしたいのかと思った。
実際にinsertしてんのは変数aaa(の中身)じゃん。
一回目のselect文意味無いじゃん。
じゃーこのusernumって何に使うの。
あとaaaの中身は何なの。
>>781 おまえも訳もわからずに変なレス付けるなよ。
>「usernum に、テーブルの最大値+1 を得て、それを tblaaa に挿入」
これなら
>>779 でいいし、今INSERTした値を取る必要もないじゃん。
この後でusernumを使うんなら別だけど、普通そうは見ない。
783 :
778 :04/04/23 22:49 ID:???
>>782 ちと補足。
>じゃーこのusernumって何に使うの。
>あとaaaの中身は何なの。
元の質問は用語もメチャクチャだったので、きっと、例も
usernum と書きたいところを aaa と書いてしまったんだろうと
勝手に脳内補完した。
元質問者は、ユニークな usernum を得るプロシージャを
つくりたいんだと理解したが、違うだろうか?
>>784 おっしゃる通りで、usernumの間違いです。
DB設計は初心者なので、書籍に載っていた
ソースを使っていたのですが、同時クエリで
簡単に破綻するって事ですね・・・
色々とご指摘頂きましたが、結局
serialかcounterを使うのがいいってことでしょうか?
あと、そのfieldをIDENTITY型にしたとして
>・明示的にテーブルロックする
>・INSERTに成功するまでリトライする
上記2点も必要でしょうか?
度々申し訳ありません。
786 :
NAME IS NULL :04/04/24 05:29 ID:rv2gpxV3
Unix版のオラクルではサーバシャットダウンする前に必ず shutdownコマンドでDBシャットダウンしないとDBが壊れる ことがありますが、Windows版の場合はその必要がないので しょうか?(サービスマネージャーが自動的にやってくれ るとか)
スマン、こっちがボケてた...
>>785 テーブルロックは言い過ぎ、俺も使ったことがない。
>>781 を数回トライするようにするだけでも
改善が見られるとおもう。以下解説。
・BEGIN TRAN〜COMMIT
言わずとしれたトランザクション宣言。MSSQLのデフォルト分離レベルでは
「自分が更新したもの以外は見えない」だったはず。
・INSERT〜SELECT
>>779 の言うとおり、これ単体でもアトミックに実行される。
しかし挿入に成功した行IDを得られる実装は多くはない。
・で、最後の SELECT で、あらためて最大値(=いま自分が挿入したもの)を得る。
・最後の COMMIT を忘れると、挿入した行が失われるだけでなく
ほかにもいろいろ悲しい目に遭うので注意。
分離レベルの違いにより上記の方策でうまく行かないばあい、
・成功するまで何回かINSERTを繰り返す
でいいんじゃないだろうか。というのは、挿入に成功すれば
すなわちそれは、aaa(=usernum)が一意であることが保証されるから。
そもそも、いま挿入した値を得る必要があるとか
挿入に成功した行IDを得ることを強調してるけど
>>777 を見ただけで何故その処理が必要と切れるんだろう・・・?
単にカラムaaaに一意な値を入れたいだけじゃないの?
serialだろうがcounterだろうが、それは単に一意な値が保証されるってだけで
それだけじゃー挿入に成功した行IDを得ることは結局できないだろ。
質問者は頭が弱い、回答者はおせっかい杉、
>>790 はさらに頭が弱い
質問のレベルから考えても
> ユニークな usernum を得るプロシージャ
こんなのが出てくるとは思わんわな。
>>785 を含めても、結局
「usernumにaaaの最大値+1 を得て、それを挿入」でしかないし。
>>792 そんなに必死にならなくてもいいから
あんたが誌んでも誰も困りゃしないって
イイヨー(・∀・)イイヨー
796 :
NAME IS NULL :04/05/01 16:44 ID:sxrfIhFA
仕事でDB使い始めて、興味を持ちました。 んで、趣味のプログラミングでの話。 DBにはバイナリも保存できるようなので、 mp3なんかのバイナリデータもガンガン保存させたいと 思うのですが、そうなると気になるのはDBのファイル容量。 一般的にデータベースのファイルサイズがディスク容量を 超える場合って、どういう運用になるんでしょうか? データ ベースの一部だけを保存したり、一部だけ再ロードしたり、 そういう運用方法って可能なんでしょうか? DBはMySQLかMSDEを考えています。
1つの論理テーブルのデータを複数の物理ファイルに格納できるDBMSなら、 物理ファイルを分散されればよろし。それでバイナリ突っ込んで運用できるのかは知らない。 RAID組んでディスクの見た目サイズをデカくすると更にお手軽。 でも使用目的を考えると、DB上には実際のファイルへのパスだけ格納してっていうやり方の方が気楽な気がするな。
798 :
NAME IS NULL :04/05/04 20:49 ID:sOBShDrL
例えば1000万行データがあるテーブルをSELECTするとき、メモリが一杯にならないように一行ずつ読み込むのをなんて呼ぶんだっけ?
800 :
NAME IS NULL :04/05/04 21:10 ID:EUF66mLn
すみません、DAOからADOへの変更してまして、SQLでフィールドを連結させる 「フィールド1 & フィールド2 AS フィールドALL」 でエラーがでます。 LIKEのように、指定方法が違うのでしょうか?
801 :
NAME IS NULL :04/05/06 13:52 ID:UpZY6gOw
ALTER TABLE を使ったコマンドで列名の変更ができません!コマンド自体は確実にOKなのに… 何か盲点があるのでしょうか?
>>801 RDBMS名を書け。それから、ALTER TABLE で成功する操作を書け。
エラーメッセージも書こうな。
804 :
NAME IS NULL :04/05/07 13:59 ID:l/mHR899
データベースソフトでサーバ用(DBMS)とクライアント用(PC用)の製品名を それぞれいくつか教えてください。
805 :
NAME IS NULL :04/05/07 17:15 ID:uvzws9VZ
PHP+PostgreSQLでWebサイト作ってるんですが ユーザの問合せ(検索など)でcreate viewしようかと思ったんですが drop viewする前に複数の人が同時にサイト上で問合せすると 名前が衝突してしまうと思うんですが これって普通はどうやって回避するものなんでしょうか?
もしかして毎回create viewを投げるの? 作ったviewを普通のテーブルと同じようにselectするだけでいいじゃん。 DDLは普通頻繁に実行するもんじゃないよ。
>>805 viewを一時表みたいなものと思ってるのかな?初心者にありがちだが。
808 :
NAME IS NULL :04/05/07 22:41 ID:C11+OCB/
↓これについて詳しく教えて
----------------
167 名前:NAME IS NULL[] 投稿日:04/05/06 23:44 ID:1EJZnTLN
>>165-166 書いてる事が分からんが
PHP製品内にMySQL本体を含めなきゃライセンス購入の必要は無い。
しかしMySQL本体を含めて販売しないと動作が不完全だろう。
だから大抵きちんとした製品は購入する必要があるわけ。
169 名前:NAME IS NULL[sage] 投稿日:04/05/07 00:46 ID:???
>>166 普通共有サーバでコマーシャルライセンス付きの製品は動作しない。
171 名前:NAME IS NULL[sage] 投稿日:04/05/07 07:59 ID:???
マジで??なんで??
>>169 について詳しく教えて
みなさまの意見をお聞きしたい。 ユーザー名等のカラム名に関して、 @ユーザーID Aユーザーコード Bユーザー番号 のどれにしてます? 私は@ユーザーIDが正解だと思うのですが。
810 :
NAME IS NULL :04/05/11 22:15 ID:8MaZjvNi
ODBCドライバを使わずにODBCでDBに接続するにはどうしたらいいですか?
811 :
NAME IS NULL :04/05/12 00:57 ID:pkjF0PyM
ファイル管理に使えるフリーのデータベースないですか?
>>809 最初に割り振られる一意の番号、という意味合いなら ID でしょ。
OpenBase のスレが無いのはなぜでせう? だめぽならだめぽなりに1すれあっても良さそうなものですが…
>>813 自分で勃ててみそ
どーせ過疎板なのでちょっとやそっとじゃ落ちネーヨ
なんかいきなり「設計任せた」とか言われますた。 いきなり言われても今までやったことないし。 とりあえず正規化してます。カラムが40あるよorz
>>815 DBの設計をするだけならそんな難しいことじゃない。がんがれ。
運用の設計もするんなら、しっかりユーザーからヒアリングしろ。
後から設計変更すると死ぬ。
818 :
NAME IS NULL :04/05/18 22:59 ID:Fe7YlMnQ
819 :
NAME IS NULL :04/05/19 03:27 ID:1/NWDgMc
MaxDBってなんですか?
820 :
NAME IS NULL :04/05/19 16:39 ID:VBDac82W
質問です。 VB 6.0 + ADO 2.5、DBはACCESSです。 selltable item day sell 1 2 2 1 3 3 2 1 2 2 3 6 3 1 3 3 2 6 上のようなテーブルから、「各itemの3日目のsellと3日目までのsell合計」 を拾うようなクエリをご教授ください。 上の場合ならこんなレコードセットを得たいわけですが。 item sell result 1 3 5 2 6 8 なお、自分で書いてみたクエリは大体こんな感じです。 何故かサブクエリが使えません。 SELECT today.item, today.sell, calc.result FROM selltable AS today, (SELECT SUM(sell) AS result FROM selltable GROUP BY ID) AS calc WHERE today.day = 3 AND today.item = calc.item
821 :
NAME IS NULL :04/05/19 16:41 ID:VBDac82W
×GROUP BY ID ○GROUP BY sell
>>820 AccessのSELECTリストにサブクエリが使えるかどうか知らんが。
SELECT today.item,today.sell,(SELECT sum(sell) FROM table WHERE day<=3 AND item=today.item)AS result FROM table as today WHERE day=3;
>>820 Access 2000で確認。VB6+ADOで使えるかどうかは不明。
他のDBMSじゃまず使えないと思う。
SELECT item, sell, DSum("sell", "selltable", "item=" & item & "And day <= 3") AS result
FROM selltable WHERE day = 3;
皆さんにお伺いしたいのですが、 SQL Server で「データベース」と言うとふたつの意味がありますね。 @データベースインスタンス Aインスタンスじゃない方のデータベース このとき、Aのことをどう表現してますか? @は「データベースインスタンス」と言えば判ると思いますが、 Aの表現方法がわかりません。 よろしくお願いします。
ID(ユニーク)、一個以上のキーワード(文字列)を持つリスト、本文(文字列) というデータがあり、Googleみたいにキーワードのリストを与えることで もっとも一致率の高いデータを選び出す、という事をやりたいのですが、 一個以上で最大の個数が分からないキーワードのリストというのは、 どういう形でテーブルに列を定義すれば良いのでしょうか? テーブルの列の個数って固定ですよね…。 Perl5.6.1とPostgreSQL7.2.1-2woody4を使っています。 というか使おうとしています。
>824 ユーザーデータベース、とか。
>>828 第1次正規形のテーブルは作れるけど、それ以降がいまいち分からないのですが、
初心者スレに移動した方がいいでしょうか…。
>>829 質問そのものも正規化したほうがいいな。いまいち意味がワカラン。
サンプルデータを出して、もう一度説明してみ。
>>830 例えばこんな感じのデータです
00001/今日は晴れで明日は雨だ。/今日, 晴れ, 明日, 雨
00002/今日は車で出かける。/今日, 車
ID/本文/キーワードのリスト です
キーワード(キーワードID, キーワード, 本文ID)
本文(ID, 本文)
としても、
本文の方は、本文(01, 今日は晴れで明日は雨だ。)、本文(02, 今日は車で出かける。)
とできるけど、キーワードは、キーワード(01, 今日, 01)、キーワード(01, 今日, 02)と
キーワードの主キーであるはずのキーワードIDが複数行にまたがっちゃうのではないかと…。
>>831 table1(id,本文)
00001/今日は晴れで明日は雨だ。
00002/今日は車で出かける。
teble2(id,キーワード)
00001/今日
00001/晴れ
00001/明日
00001/雨
00002/今日
00002/車
SELECT T1.id,T1.本文,T2.Score FROM
(SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id)AS T2
JOIN table1 as T1 USING(id) ORDER BY Score DESC;
という理解でいいのかな?
table2は(id,キーワード,カウント)にして、キーワードが本文に出てくる回数をカウントに入れておいて、
count(キーワード)の代わりに、sum(カウント)にしてスコアを出せばますますNamazuっぽく...
>>832 おお、何かうまくいってそうな気がします。
リモートでアクセスできないので今すぐ試せないのですが、
とりあえず、ありがとうございました。明日試してみます。
チョト追加つか訂正。 Namazuとか検索エンジンの場合はWHERE句のキーワードリストをORじゃなくてANDがデフォ。 今回の例ではsum(カウント)と出来ないので、ORにしてそれっぽくしている。
別人だけど、 >今回の例ではsum(カウント)と出来ないので これはなじぇ? table2にカウントのデータがないからで、テーブルにデータを詰め込むときに キーワードが本文に出てくる回数を数えるスクリプトか何かを追加しておけば できるって意味ッスか?
836 :
NAME IS NULL :04/05/21 11:05 ID:m/y2pV7a
初歩的で失礼です。 select文でとれたレコードで該当する全てのレコード数を 取るにはどうすればいいですか?
データベースの参考書で、とりあえずSQLクイックリファレンスだか ポケットリファレンスだかが良いのでこれ買っとけって話をたまに聞くんですが、 どの本のことでしょうか?
>>832 SELECT T1.id,T1.本文,T2.Score FROM
(SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id)AS T2
JOIN table1 as T1 USING(id) ORDER BY Score DESC;
これってScoreの大きい順にすべての結果が出力されますよね。
もっともScoreが大きいものを一つだけを出力するのってどう書けばいいんでしょうか。
最後にWHERE T2.Score = max(T2.Score)をつけたりしたんですが、うまくいかないです。
#↑も一つだけじゃなくて、Score最大のものを全てって意味だし…
>>841 PostgreSQLならLimitを使え。
ORDER BY Score DESC LIMIT 1;
>>842 ありがとうございます。
一応動くには動いたんですが、毎回返ってくるデータは同じですよね。
結果にある程度のランダム性を持たせたいというか、
Scoreが最大って条件を満たす中で、ランダムに1行を返して欲しいのですが、
これはどうにかならないでしょうか?
ORDER BY Score DESCを外しても、結局返ってくる1行は決まった行ですよね。
LIMIT 1, ROUND(COUNT(*) * RANDOM(), 0); で、0行目〜最大行目までから1行と書いてみたのですが、駄目でした…。
>>843 最大値のどの行を取るかは呼び出す言語側で処理するしかないというか、
その方が手っ取り早い気がする。
と、Score最大を全て取るのなら、ORDER BY句の代わりに、
WHERE Score=(SELECT max(Score) FROM (SELECT count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP by id)AS T3)
ってなるのか。すんげぇ冗長な気もするが。
846 :
NAME IS NULL :04/05/25 18:39 ID:JQMURBQG
フィールドの組み合わせが重複しないような取得は SELECT DISTINCT フィールド1, フィールド2 FROM テーブル; でできるかと思うのですが、指定したフィールドの値しか取得できませんよね? 指定したフィールドの組み合わせが重複しない"レコード全体"を取得するには どう書けばいいのでしょうか? (重複する場合、idが小さいものを取得する) ご存知の方がおりましたらご教授ください。
>>845 これはT2とT3で、同じSELECT WHERE句が2回出てくることになると思うのですが、
処理的にはどうなるのでしょうか?
つまり、同じ処理を二回繰り返すことになるのか、データベースサーバ側で
結果を覚えておいて、二度手間を勝手に避けてくれるのか、という点が気になるのですが…。
848 :
NAME IS NULL :04/05/25 19:30 ID:e+1dBnLQ
データベースを学ぶ上でお勧めのがあったら教えてくんなまし。 マジスレ希望。
>>848 やっぱ実戦だなぁ…実戦で失敗重ねて…というのが俺的マジレス
850 :
NAME IS NULL :04/05/25 20:07 ID:e+1dBnLQ
実践かぁ・・・。
>>847 別に相関サブクエリでループしているわけでも無いし、
うまくインデックスが効くようなら、それほど負荷のある処理じゃないんだけどな。
他スレでは相関サブクエリの自己結合なSQLを答えたし。
で、7.4ではそこら辺の2度手間を省くようになったのか、サブクエリを多用する
SQLはかなり速度がUpしてますよ。
と、同じ行を抽出しているのならキャッシュに載るので、処理が2倍になる
ってこともないと思う。
EXPLAINなどでいろいろ試してみるよろし。
>>851 うーん、キャッシュが残ってる時は軽いんですが、検索条件のキーワードが
多い時と、検索条件が頻出するキーワードで、行数が多い時に滅茶苦茶時間がかかってしまいますね…。
本文のキーワードリスト/本文へのポインタを書いたインデックスファイルを用意して、
検索条件との一致率が最も高い行を探して、ポインタで本文を呼び出して…っていう
泥臭い方法を試してみたのですが、こっちの方がデータベースを使うより早い場合さえありました…。
どうにかして現実的な実時間で結果が返ってくるようにできませんでしょうか。
SELECT T1.id,T1.本文,T2.Score FROM
(SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id LIMIT 100)AS T2
JOIN table1 as T1 USING(id) ORDER BY Score DESC WHERE Score=(SELECT max(Score) FROM
(SELECT count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP by id LIMIT 100)AS T3)
とLIMITを付けても大して変わりませんでしたし…。
>>851 うーん、キャッシュが残ってる時は軽いんですが、検索条件のキーワードが
多い時と、検索条件が頻出するキーワードで、行数が多い時に滅茶苦茶時間がかかってしまいますね…。
本文のキーワードリスト/本文へのポインタを書いたインデックスファイルを用意して、
検索条件との一致率が最も高い行を探して、ポインタで本文を呼び出して…っていう
泥臭い方法を試してみたのですが、こっちの方がデータベースを使うより早い場合さえありました…。
どうにかして現実的な実時間で結果が返ってくるようにできませんでしょうか。
SELECT T1.id,T1.本文,T2.Score FROM
(SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id LIMIT 100)AS T2
JOIN table1 as T1 USING(id) ORDER BY Score DESC WHERE Score=(SELECT max(Score) FROM
(SELECT count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP by id LIMIT 100)AS T3)
とLIMITを付けても大して変わりませんでしたし…。
854 :
852 :04/05/28 10:18 ID:???
今頃2重に気づきました 失礼しました
>>852 ヒット率が高くてインデックスが使われない状況だと、遅くなるわな。
SELECT T1.id,T1.本文,T2.Score FROM
(SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id )AS T2
JOIN table1 as T1 USING(id);
までと、全文とでのEXPLAIN ANALYZEで比較してみれ。
WHERE句で絞っているので、ORDER BY Score DESC は要らん。
PostgreSQLやMySQLといったフリーのものは フツーにインストールするとファイルシステム上に構築されますが、 大規模DBを組む場合にはスピードアップのために、 HDにパーティション切って専用ドライブとして利用可能なんでしょうか? 専門外なので、よくわからん(==;
ドライブ一つじゃ、いくらパーティション切ったって速度面への貢献は無いそ。 断片化の対策にはなるかもしれないが。
>>857 漏れもそう思うが、
>>856 が言いたいのは、
ファイルシステム上じゃなく、DBが直接ディスクを読み書き出来るのか?
ではないかと思ったり。
859 :
856 :04/06/06 21:19 ID:???
>858 フォローありがとう > ファイルシステム上じゃなく、DBが直接ディスクを読み書き出来るのか? そういう意味なんだよぉ・・・
>>859 開発者でもないし、ソースコードを見て確認したわけではないが、
そういうネタは聞いたこと無いので、多分できないかと。
861 :
856 :04/06/06 23:02 ID:RA8GNqhz
はぅ〜、そうですか おかげ様で通常ありえないことがわかりました。 ありがとうございます
862 :
NAME IS NULL :04/06/07 22:51 ID:EpoRcqjT
すみません、Web板で質問したらここで聞けといわれたのですが、 僕は千葉県に住んでいる風間純平といいます。 先日、ネットで就職情報を集めていたのですが 「続・日本人のおしっこ」というサイトに飛んだとたん 無数のウィンドウが勝手に開きはじめ画面が埋めつくされてしまいました。 すぐに警察に電話したのですが、ちゃんと話を聞いてもらえませんでした。 今も心配でしょうがないんですが、ウィルスには感染してませんよね? 感染していた場合、関東でお勧めの病院も教えてください。
>>861 今日、jpug-jpのMLでrawデバイス対応に対する話題が盛り上がってましたなあ。
開発中、DBのバージョンが頻繁に変わるんですが、良いテストデータの移行法はないでしょうか。 カラム名やテーブル名も変わるので、アクセスやエクセルでは手間が酷い。 自動で全テーブルからデータをとってきてINSERT文にしてくれるといいのに。 DBはORACLEです。
865 :
NAME IS NULL :04/06/10 06:11 ID:VGTvMXq8
カラムの名前ですが、 m_user( user_id numeric primary key, user_name varchar(256) ); と m_user( id numeric primary key, name varchar(256) ); てどちらのパターンの方が多いでしょうか? 前者の方が読み間違いが少なく、後者の方が打ち間違いが少ない と思うのですが。
866 :
NAME IS NULL :04/06/10 10:00 ID:8KsqPgq/
Oracle9i(9.2.0.1.0)のインストールウィザードが立ち上がってこないので困っています。 サーバは DellのPowerEdge400SC CPUはx86 family 15Model OSはWindowsNT4.0 SP6a です。 8iで同じような現象が出た時の対照法(HDDにコピーしてsymcjit.dllの名前を変える) をやってみたけど、ダメでした。 何か解消方法はあるんでしょうか?
867 :
NAME IS NULL :04/06/10 14:36 ID:9jgUQsZn
MSSQLServer2000で Update tableA Set data1=data1+'moji' みたいなSQLで、data1がvarchar型だとOKだけどtext型だとダメでした。 どなたか回避策知ってる方いませんか?
868 :
865 :04/06/11 05:30 ID:0Cv6+OdD
>>864 具体的なテストデータがわかりませんが、テンポラリー用に自クライアントマシンに
Postgresでも入れてSQL文作ってそこそこ自動化出来ませんか?
もしくはcseでエクスポート、インポートじゃ駄目でしょうか?
>>866 oracleを作った人でもその材料だけで答えは出ないはずです。もう少し詳しい状況を。
>>867 駄目な時のエラー文を載せるとSQLServer知らない人でも多分答えが出せますよ。
さぁ上記3人様、やさしく素敵な助言をした俺の質問に答えて下され。
人から引き継いだ場合どっちが好き好きになれそうでしょうか?
>>868 =865
自分の勝手にすればいいだろ
そんなことも判断できないの?
宗教論争でもやりたいの?
画像を何形式で保存すれば良いかわからないでふぅー gif?jpg?
871 :
NAME IS NULL :04/06/12 00:18 ID:g+e7tp9w
DBで家計簿をつけたいのですが エンゲル係数とか出したいしね
872 :
NAME IS NULL :04/06/12 01:03 ID:OBbT7WUt
Windows2000にOracle9i(9.2.0.1.0)をインストールし、DBを作成して 少し複雑なSELECT文を発行したところ一時表領域の増分サイズを 少なく設定しすぎて下記のようなエラーが発生しました。 ORA-01652: 一時セグメントを拡張できません(125分、表領域***TEMP) ORA-27059: skgfrsz: ファイル・サイズを縮小できませんでした OSD-04005: SetFilePointer()に失敗しました。ファイルの読み込みができません。 O/S-Error: (OS 112) デスクに十分な空き容量がありません。 このエラー自体は一時表領域とそのデータファイルの増分サイズを 大きく変更することにより解決できたのですが、先にエラーになった際に 一時表領域のデータファイルが4GBまで拡張され(使用率100%)、 クリアされずに残ってしまいました。 私の認識では一時表領域はソートなどの一時的な使用に使われ、 処理が終わったら表領域内のデータはクリアされると思っていたのですが 上記のように残ってしまったデータ(ゴミ?)は消えることはないのでしょうか? 仕方ないのでデータファイルを追加したのですが、何回か処理を繰り返すうちに これも使い切って一時表領域が増え続けている状態です(現在8G)。 一時表領域で使ったデータが累積され続けてるように思えます。 処理が終わったら一時表領域内の不要なデータをクリアし データファイルサイズを自動で縮小するような設定は不可能でしょうか?
>>867 text型はBLOBデータなので普通にはUPDATEできない。
書くのが面倒なのでBooksOnline読んでおくれ
リレーショナル データへのアクセスおよびデータの変更
->拡張クエリの概念
->ntext 型、text 型、および image 型のデータの管理
->ntext 型、text 型または image 型の値の変更
875 :
874 :04/06/12 12:44 ID:???
SQL直打ちじゃなくてADOとか噛ましてるならそっちのサポートを使ったほうが楽 ↑の「ntext 型、text 型、および image 型のデータの管理」に書かれてる
876 :
NAME IS NULL :04/06/12 16:33 ID:30aJ5WcQ
製品部品展開について質問です。 手続き型で再帰を使って製品部品展開を行っているんですが、(MS-ACCESS) これをPostgreSQL+Apacheに移植(イントラネット化)する予定があります。 クライアントはメンテナンス用のMS-ACCESS(ODBC)と運用用のWebブラウザにする予定で 出来るだけ共通ロジックを使いたいと思っています。 RDBMSの機能を最大限生かして製品部品展開ロジックを実現するには どのようなデータ構造・実装にすればいいのでしょうか? 参考になるサイトなどもご存知でしたら教えていただければ幸いです。
>>876 ACCESSと本格的なRDBで共通ロジックって・・・。ご愁傷様です。
会社の業務システムのテーブルはレコード番号以外にインデックスを 作ってない。そのせいか集計処理なんかがとんでもなく遅い。 素人考えですが普通、集計や抽出に使いそうな入出庫日等に インデックスを作成するものじゃないんですか? あえてインデックスをつけない訳でもあるんでしょうか?
879 :
856 :04/06/15 03:25 ID:???
>>863 情報ありがd
PostgreSQLメーリングリスト。はじめてみましたが、すごく濃いですねぇ(^^;
せっかくなんでを要約します。
商用DBではファイルシステムを介さず直接 raw device を触ることもできる
商用では意外と普通に使われてきていた
が、最近は徐々に使われなくなってきている
といったところでしょうか。
さらに、raw device の利点、問題点をまとめますと
利点:
・トランザクションの順番を保証している。
(UFS は実際のディスクに書き出す順番を保証していない)
・データ領域をraw deviceにすることで、効率良く利用出来る
(OSのファイルシステムで生じる些細な無駄を省ける。スペース、スピード共に)
・raw deviceを採用することによるペナルティはほとんどない。
・ストレージ管理ツール使えば管理は可能
意見、問題点:
・通常の使い方ではraw deviceを使わなければいけない状況はそんなにないだろう
・Windows では Unix 系よりも性能向上しなかったようだ
・PostgreSQLでは存在していない。あまりニーズがないのでは?
・raw deviceを使えば単純に早くなるわけではない。
チューニングして、I/Oにボトルネックを持ってくる必要アリ
・パフォーマンスを追求するのであれば、
OSという馬鹿でかい抽象レイヤを使用するほうが問題があるのでは?
う〜ん、勉強になりました
880 :
NAME IS NULL :04/06/16 23:34 ID:v9AM738T
データベースの知識はほとんど持ち合わせていない素人です。 今度大量の音楽データ(MP3)の管理を任されまして、 それの索引を作ったり、曲名や作曲者で検索してデータにアクセスできるよう データベースっぽいものを作ることになってしまったのですが、 どのようなソフトを使ってどのように作ればよいのか見当が付きません。 どんな方法でデータベースを作るのが良いか、アドバイスをもらえませんでしょうか? 作る側も使う側も素人なので、そんな難しい機能は必要ないと思います。 よろしくお願いします。
>>880 htmlで曲名、作曲者の一覧表作ってMP3ファイルにリンクを張っておく。
で、ユーザーはIE上でctrl-Fで検索する。
DoDのDBに進入できる香具師いますか?
>>880 ExcelでMP3の一覧表を作って、
ハイパーリンクを貼る。
880です。ありがとうございます。 Excelで表を作る方法だと、ユーザーもリストの更新が楽にできるので良いですね。 もう一つ、友人からMP3プレーヤーソフトで管理する方法も教えてもらったので、 それと併せて考えて見ることにします。 ありがとうございました。
885 :
NAME IS NULL :04/06/27 14:18 ID:oiiIcj7k
ACCESS 2000で教えてください こんなテーブル1があって ID |DATE1 ----------------------- 1 |2004/06/01 11:50:30 2 |2004/06/02 11:50:30 3 |2004/06/03 11:50:30 以下のSQL文を発行すると select * from テーブル1 WHERE DATE1 between #2004/06/01# and #2004/06/02# 1だけが検索されます。between句は 〜以上〜未満 なのでしょうか 一方でテーブル2があって ID |SDATE |EDATE -------------------------- 1 |2004/06/01 |2004/06/15 2 |2004/06/16 |2004/06/30 select * from テーブル2 WHERE Date() between SDATE and EDATE とやると 本日の日付Date()が2004/06/15でも1が検索されます。 between句が 〜以上〜以下 で動作しています。 これってなぜなのでしょうか。
検証してないんで間違ってたらあれなんだが、 単に#2004/06/02#とかでSQL文賀書くと、 内部的には2004/06/02 00:00:00と解釈されるんでないかい? これだとテーブル1のID = 2 は当然含まず、 テーブル2のID = 1 は時間が切り捨てられてるので (つまり00:00:00と同義)含まれるとなるんでないかい?
887 :
NAME IS NULL :04/06/27 20:55 ID:P0QOy8QQ
WinのコマンドプロンプトからMySQLを起動させ 直接CUIでMySQLを扱う際にテーブルにデータを日本語で入力するやり方を教えて下さい。 insert into table(name) values('鈴木一郎') 上の行で「鈴木一郎」の部分を日本語入力したいのですが、 半角/全角キーなどを押しても日本語入力になりません。 テキストファイルを用意して読み込ませる方法もありますが 直接、CUI上で日本語入力できる手段はないものでしょうか? OSはWinXPのPro、MySQLはver4.0.13のWindows版を使っています。
>>887 [Alt]+[半角/全角]でも日本語入力できませんか?
すみませんできるだけ多くの種類のデータベースファイルに接続できる、 SQLクエリアナライザってないですか?SQLserverについてるみたいなやつ がいいんですけど。 ちなみにMSのIDEについてるやつは除外でお願いします。
(;゚д゚) がーん
>889 CSEなんかがそれに近いと言えるかもしれないけど・・・ 結局のところ、専用品を使うのが一番早かったりする。
>>892 CSEつかってみたけどMS系が直接接続できないのはちょっと勘弁。
やはり専用品が一番ですね。
894 :
NAME IS NULL :04/06/28 19:01 ID:4WWcpWZR
アクセスのクエリーってカラム数の制限があったような気がするんですがいくつですか?
>888 できました! Altキーを使って日本語入力を切り替えていたのは ずいぶん昔だったので忘れていました、ありがとうございます。
>>894 漏れもACCESSのバージョン毎にQUERYのMAXカラム数知りたい
897 :
NAME IS NULL :04/06/30 19:32 ID:NOMUUC69
Postgres です。 テーブルAとテーブルA_bakがあり、同じ構造です。 A_bakには、Aで比較的使われなくなったレコードが退避されています。 このとき、AとA_bakの両方からgroup by をしたいのですが、 どういうSQL文にすれびいいのでしょうか。おしえてください。
898 :
NAME IS NULL :04/06/30 20:47 ID:Wz7pCQmP
XMLをやりとりすんのに一番適してるDBはなんすか?
Windowsなのですが 人別で特徴などを書き込めるようなDBはないでしょうか? メモ帳だときついので・・・
>>901 なんか、板違いな気が。
最近てっきり聞かなくなったPIM系アプリでも買えば。
903 :
901 :04/07/01 00:05 ID:???
>>902 あれ?板違いですか・・・
こういうのはどこで聞けばいいんですかね?
905 :
NAME IS NULL :04/07/01 22:06 ID:EkQwcv/s
906 :
NAME IS NULL :04/07/02 21:54 ID:htVOEnuA
表をTRUNCATEした場合、データディクショナリ中の表定義は削除されますか?
907 :
NAME IS NULL :04/07/02 21:56 ID:htVOEnuA
>>906 されませんよ。
SQL> create table test (col1 number);
Table created.
SQL> insert into test values (10);
1 row created.
SQL> commit;
Commit complete.
SQL> truncate table test;
Table truncated.
SQL> select * from user_tables where table_name = 'TEST';
TABLE_NAME TABLESPACE_NAME CLUSTER_NAME
IOT_NAME PCT_FREE PCT_USED INI_TRANS
------------------------------ ------------------------------ ------------------
------------ ------------------------------ ---------- ---------- ----------
MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREE
LISTS FREELIST_GROUPS LOG B NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE
---------- -------------- ----------- ----------- ----------- ------------ -----
----- --------------- --- - ---------- ---------- ------------ ----------
CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE
INSTANCES CACHE TABLE_LO
---------- ----------- ------------------------- ------------------- -----------
------------------- ------------------------------ --------------- --------
SAMPLE_SIZE LAST_ANALY PAR IOT_TYPE T S NES BUFFER_ ROW_MOVE GLO USE DURATIO
N SKIP_COR MON CLUSTER_OWNER DEPENDEN COMPRESS
----------- ---------- --- ------------ - - --- ------- -------- --- --- -------
-------- -------- --- ------------------------------ -------- --------
TEST USERS
10 1
255 65536 1 2147483645
YES N
1
1 N ENABLED
NO N N NO DEFAULT DISABLED NO NO
DISABLED NO DISABLED DISABLED
909 :
NAME IS NULL :04/07/03 00:24 ID:92j5ft9e
910 :
NAME IS NULL :04/07/03 02:13 ID:y02b0D0u
911 :
NAME IS NULL :04/07/03 04:59 ID:fsBIWwVA
OracleのSQLの正式な仕様ってどこか フリーでないでしょうか? 英語でもOKなんですが。 Oracleの体験版を入れたけどSQLのヘルプが見つからない。
913 :
NAME IS NULL :04/07/03 22:47 ID:NyF6WBPa
仕事でAccess使って開発しなきゃいけないんだけど イマイチDBの設計の仕方がわかりません なんかいい勉強方法ってないですかね?
>>914 そこらへんは一応知ってます
仕様書渡されて「これで作って」って言われ、作るんだけど
やたらとクエリが多かったりしてどう処理してるか(他の人が見て)わからなくなります
もっとスッキリした形で作りたいんです
ちなみに、仕事は銀行の事務系のシステムです
>>913 >そこらへんは一応知ってます
第三正規形程度がわかっているてことかな
仕事の内容がわかるということかな
そこら辺の説明をPlease!!
>イマイチDBの設計の仕方がわかりません
これを読んでテーブルの設計がわからないのかと思ったが
その後の処理の問題だったらクエリの命名法でも工夫すればいいのでは?
『Q○○第1段階』なんてね...(^^;)
当方医療系で周りにAccessなんて知ってる奴いないのとADO主体の開発
してるモンでコメントつけたり、関数化してたり当たり前のような事
しかしていないので力になれんような予感がする。m(__)m
917 :
エデン :04/07/05 18:41 ID:1aGUCRG7
最近からここを見るようになりDBを覚えようと考えているのですが、 1.データベース系を覚えるときまずどんなことをすればよいのか。 2.データーベースの基礎を理解するにはACCESSでも足りるか、 3.練習用のデータを手に入れるときどこで入手しているか(もしくはデータをおいてあるサイト) 1,2はいろいろな解説サイトはあるがサイトによって意見がばらばらなので自分達の意見でお願いします。 3は探したのですが、探し方が悪かったのかデータを置いてあるサイトが見つかりませんでした よろしくです。
>917のDB以外(プログラミング、OS、その他コンピュータ全般)の知識はどの程度? それによっても変わるよ。 プログラミングの経験無しならAccessでもいいんじゃない? 何しろ情報が多いし、他に比べればとりあえず動く物を作る事ができるようになるまでの時間が短いからな。 練習用のデータは自分で作ればいいんじゃないでしょうか。 そうでなければサンプルデータベースが付属している本等を選べばよろしいかと。
>>917 どうせならHSQLDBにしよーぜ
今ならソースコードも何とか読める範囲ですよ?
>>917 いったいどの程度勉強したいのかと?
俺の持論で悪いがACCESSはやめとけ。
SQL部分が隠されてるから、一般的な知識にはならんよ。
勉強目的ならMYSQLとかPOSTAGEとかフリーのDBと、
SQLハンドブックで死ぬ目に会えばだいぶわかると思うが?
すぐに動作する結果が欲しいのと勉強したいの両方なら
VB.NET+ACCESSもありかも。
921 :
NAME IS NULL :04/07/06 07:32 ID:e3gokjqC
WEB上で、データベースを利用する場合、 どのデータベースがより高速でしょうか。 環境にも左右されるとは思いますが、 WEB上で、単純な商品検索や、データ入力をする場合です。
>>917 >>920 に同意。
ACCESSでDB設計や、SQLのスキルが上がるとは正直思えない。
これは、DBの知識が無くてもDBを扱えるということが
コンセプトの商品だからだ。
ただ、ACCESSができると、普通の仕事で役に立つと思うので
身につけておいてもよいかも。
テストデータは自分で作れ。
たちまちやりたいことが無いなら、
まずは、身の回りのものを全てデータ化してDBにぶち込んでみれ。
Accessって条件を入力したフォームかなんかで裏で生成さらたSQLを表示することも出来たんじゃなかったケ?
SQLそのものも入力できたはずなので、SQLがまるっきり解らないのなら、Accessが生成したSQLを見ながら
勉強するって手もある。SQLのスキルが全く上がらないとも言えない。要は使いよう。
って、別にAccessを薦めているわけじゃない。元質のレベルも解らないし、将来どうしたいのか? 何の為に
DBを勉強するのか目的がワカラン。
テストデータは、郵便番号のデータなんかどうだろ。
ttp://www.post.japanpost.jp/zipcode/download.html これだけだと、結合関係が出来ないんだけど、ここから都道府県名のみ別テーブルにして結合するとか。
備考のところでちょっと癖のある行があるけど、CSV的には例外が無いので、すんなりとDBに格納できる。
924 :
NAME IS NULL :04/07/06 10:35 ID:1mTPPz7s
えーっと質問させてください。 VB6.0から、ACCESSに接続して、 新規顧客の重複チェックを行っています。 (チェック項目:姓、名、TEL) 問題は、電話番号のチェックで、 テーブルに登録されているデータは、ハイフンありとか、なしとかあります。 このため、WHERE句はハイフンなしで検索して、重複チェックをかけたいのです。 入力されたTELはReplace関数で置換できたのですが、 テーブルの電話番号の置換ができません。 ACCESSで、置換するコマンドをつかえないのですか? 教えてください。
普通にReplace使えばいーのでわ? 入力チェックが甘いアプリだと「-」だったり「ー」だったり「―」だったり色々めんどくさいけど。
VBから、 WHERE 電話番号 = Replace(txt_TEL, "-", "") は可能でした。 が、 WHERE Replace(電話番号,"-","") = Replace(txt_TEL, "-", "") ですと、 「式に未定義関数 ’Replace’があります。」 とエラーになってしまいます。
927 :
エデン :04/07/06 11:31 ID:Q812NZYw
>>917 です
理解できるSQLのPGはシスアドで習う程度のレベルです。
まあ個人で楽しむあたりでは足りるぐらいですが、実際のところ大学の授業で3回(そのうち2回休んだ)しかやらないし
経営側の勉強をする学科なのでSQLはなぞる程度しかしなかったんです。
データ数も20より下。
DB系をやろうとし始めたのは就職活動中、目指す分野上いやでもオラクルのことをきくので
オラクルのことを聞かれてソフトウエアですよねというのは避けたいと思って2chでみていて個人的にやってみたいと思ったのが最初ですね
思い立ったら吉日といいますし。。。。
使っているノートの容量が10Gメモリー256MB(5G レッドハット使用。現在700MBほど残っている)
サーバーとして立てる予定のデスクトップが5GB,64MBとある意味ネタという状況で練習だけはしてみようとおもってます。
後今浮かんだことなんですが、5GBのデスクトップをサーバーに立てるか外付けHDD120GB(20GBは使えれるはず)をサーバーにするか
どっちがいいのでしょう。
っていうか外付けHDDってサーバーとして立てられるのでしょうか?
サーバー自体理解できないですが下手したらデスクトップより早いかも知れない
貧乏って切ねぇーー(TT
とりあえず、シスアド初級すらとれそうにないズブの素人なのは理解できた
>oracleworldでガッツ石松氏によるOracle10gの超簡単インストールデモをやるそうな。 というネタのような話は事実ですか? 真相が知りたいです。
930 :
NAME IS NULL :04/07/06 14:23 ID:9KBuXAeP
Shared Procedureであるためのシステムプログラムの特徴とnon-sharedであるために複数コピーのProcedureを持つことの長短を教えてください。 後、RPCとはどのようなものか?遠隔でないProcedurecallと比較して説明をお願いします。 RPCをClient-Server構成で利用する際の処理の流れの図示をお願いします。
おまいら、教えてつかぁさい。 VB6からACCESS2000をいじってるんじゃが。 main.mdbの中のテーブル"Table"をsub.mdbの中にコピーするってどうすればいいか広島の原爆並にわからないですよ。 sub.mdbのほうにmainのほうに手を加える前のバックアップ感覚で取っておきたいから上書き上書きでコピーしていこうと思っているので世代管理とか面倒な事はしないつもりです。 ギギギギギ、教えてつかぁさい。
AccessでフォームからCSVをインポートするとエラーがでまつ。 「テキストファイルの指定***が存在しません」とでまつ。 終えてつかぁさい
>>929 ガッツ石松と猿がどちらが早く10gをインストールできるか
競争してたのは知ってるけど。
935 :
NAME IS NULL :04/07/06 18:10 ID:ZEeQPUzT
>>926 そりゃ、更新ならupdate使わなきゃ。
936 :
NAME IS NULL :04/07/08 22:12 ID:wcXTbYdJ
シネマ入場料金と言う課題が出ました。 大人1500円中高生1000円子供500円 大人二人に対して子供1人分料金は無料 画面は大人、中高生、子供それぞれの人数の入力欄と精算、クリア、終了ボタンがあって 精算ボタンを押したら総合計が表示されるVBがあるんですけど、 これを来場客が来るたびにデータベースに保存するようにするんですけど データベースはどのようなテーブルを作ればいいのでしょうか?
それを考えるのが課題だろう、坊や。
・金額の情報をいれるテーブル ・団体が来たときに1行入れるテーブル ・団体が来たときに一人ごとに1行入れる明細テーブル
金額情報をテーブルに入れるかどうかは置いといて、 pkey,大人の人数,中高生の人数,子供の人数 だけありゃ、SQLでほとんどの集計は出来るんじゃね。
940 :
NAME IS NULL :04/07/09 18:04 ID:k+pJvrem
教えてください。 DB2での話なのですが、CHARACTER[1] で定義しているフィールドに数値をセットする 方法はあるでしょうか? update table set expr1=1 where expr2=100 ↑この例では expr1 の型が CHARACTER[1] だとすると、 DB21034E コマンドが有効なコマンド行プロセッサー・コマンドではないため、SQL ステートメントとして処理されました。SQL 処理中に、そのコマンドが返されました。 SQL0408N 値には、その割り当てターゲットのデータ・タイプとの互換性がありません。 ターゲット名は "expr1" です。 SQLSTATE=42821 と出ます。 どうかよろしくおながいします。
941 :
NAME IS NULL :04/07/09 18:13 ID:OrixzvUn
プライマリキーが3つあり、そのうちの一つにインデックスも作ってるのですが このようにインデックスが被ってるのって間違ってるのでしょうか?
いや、間違ってないですよね。速さが断然ちがいますから・・・
>>940 DB2はしらんが、
UPDATE table SET expr1=chr(1) WHERE expr2=100;
で、どぉよ。数値として取り出すときは、
SELECT ascii(expr1) FROM table;
ってせな、ならんけど。
944 :
940 :04/07/09 18:47 ID:k+pJvrem
>>943 ササササンクス!
あんなに悩んだのに、いとも簡単にできました!
おまけに ascii関数まで教えていただき、感謝感謝です
ナムナム…
945 :
920 :04/07/10 00:10 ID:???
>>927 極めて遅レスで見てないと思うが、厳しいマジレスをひとつ。
私の勧めたことをやろうとしましたか?
DBを勉強するのにサーバーはいりません。(あった方がよいが)
まずやってみて、悩んでみて、苦しんでみてはじめて得るものが
あると思います。
実際どんな仕事をすることになっても答えはひとつ。
口だけでは何も変わりません。形から入るのをやめてさあインスコ。
946 :
NAME IS NULL :04/07/10 18:15 ID:42+bcZA/
ここで聞いていいのか分からないのですが、質問させてください。 3点接点のリレー回路図を作っているのですが、 一度作った物を探せる様に、任意の経路の図面を番号で図面管理をしたいと考えています。 例えば、各リレーにA,B,Cの3つの接点があるので、 1個目はA接点、2個目はC接点、3個目はA接点、4個目はB接点・・・ の場合の図面は○○番というように番号を付けて、 後で経路を入力すれば、図面番号が分かる様にしたいのです。 経路入力によって図面番号を検索して、過去に作成していない物だけを 作成する様にしようと考えています。 製作図面の枚数自体は多くはないのですが、 経路の候補となると莫大な数になってしまい、困っています。 A接点が0、Bが1、Cが2の3進法で、 1からの通し番号でそれに対応する3進法のデータベースを作ろうかとも 考えましたけど、経由ポイント数が増えると、3のn乗の数になり、 11個所のポイントでエクセルの限界65536を超えてしまいます。 今後、経由ポイントがいくつ必要になるかも分かりませんし、 3点接点以外にも4点、5点と増えていく可能性があるので、 応用できるようにしておきたいのもあります。 A,B,C(0,1,2)の組み合わせから、通し番号を検索する方法はありませんでしょうか? ちなみに環境は、WIN98SEでACCESS2000を使用しています。 長くなりすみませんが、アイデアだけでも頂ければ有難いのですが、宜しくお願い致します。
>>946 俺はリレー回路もラダーも経験があるのだが、
あんさんの言いたいことがいまいちワカラン。
単純に
図面1はA->B->A->C
図面2はA->C->B->A
てな感じなのか?
それなら、図面番号(主キー)に通し番号、
回路カラムはABACとかACBAとか文字列をいれたら
それで済むんじゃないの?
私の社内のEUCプロジェクトで、7000万件オーバーのDBに 一回あたり500万件規模の更新をかますシステムを 予算がないとの理由でAccess97で作ろうとしていますが はっきり言って無謀ですよね? 私は止める立場にないのですが誰かが言わないと…
〜〜〜〜〜◯〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 Ο o ∧∧ ! ガバッ! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ___(;゚Д゚)___ < 夢か!!! | 〃( つ つ | \________ |\ ⌒⌒⌒⌒⌒⌒\ | \^ ⌒ ⌒ \ \ |⌒⌒⌒⌒⌒⌒| \ |________.|
>>948 ボリューム的に論外なのは確かだが何で今更Access97なのやら。
もうサポートが終わってるからという理由で
Access2003+MSDEにしておけば少しは救われるかもしれん。
...少しだけな。
>>948 社内プロジェクトだったら生暖かく見守っと毛
下手に首を突っ込むと一任されちゃうぞ
そういう仕事を請け負ってみて自分なりに解決するのも勉強だが
件のAccess97で作り始めちゃって火の車になってから
自分に投げられてきたら…それもまたそれで勉強だ
要はデスマになる前に参加するか、 デスマになったあとで参加するかの違いですね。
立ち上がらないMDBを修復する方法が載ってるHPってないかな?
954 :
NAME IS NULL :04/07/15 01:18 ID:wnl6BVEu
UPDATE 文のSET句においてAND条件を指定し、複数の列を更新 ってできますか? ORACLEです
UPDATE TABLE SET COLUMN_A = 1 ,COLUMN_B = 'あああ' WHERE COLUMN_C = 1
>>953 コンパネのODBCの設定で追加ボタンを押してAccessのドライバを選ぶと
いろいろ並んでいる中に修復っていうボタンがある。
957 :
NAME IS NULL :04/07/15 23:24 ID:7bShlkAz
プログラマって、楽で良いよね。 SEに言われたとおりに関数と変数を並べて、 プログラム(のようなもの)をでっち上げて金クレクレと。 それでちょっとでも仕様が変ると、「使えないSEだ、コリャ」とかファビョって、 ちょっとでも考えさせると、「それはボクの仕事じゃありません!」とかキレて。 もうね、アフォかと。 ドキュメントを書かせると、小学生の作文並みの代物を平気な顔して提出して、 「ホレ、漏れは仕事したぜ?」ときた。 もうね、幼稚園児かと。 徹夜、休日出勤がある? あっそ。 そりゃあんたらの仕事が、低技能で勤まる仕事だから、 給料を捻出するためにはそのくらいしなきゃならんのだよ。 漏れの子供には、プログラマーになってほしいね。 こんなに安全確実な仕事はそうそうない。 工場労働者なみの機械的作業で、工場ほどの危険さはまるでない。 マジでおすすめだわwww
958 :
NAME IS NULL :04/07/16 00:51 ID:228Fz8Km
これを広めるだけでアトピーが治る。
Kさん 好循環 Aさん 悪循環 <日本>
(健康体) (喘息)
1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある 体力がなくなる
3.K 変化なし A 行動力、五感(嗅覚)が鈍り感性が変化する。
4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。
5.K 変化なし A アトピーになる
6.K 正常な感性 A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間 A 異常な人間(レッテル)
8.K&A 死 9.K&A 来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。
11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない A 喘息である
13.K&A 1.に戻る
これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
絶対に直す方法:
よく海外に行ってアトピーが治る話を聞くが、その場所場所に霊界が存在するので
海外に行くとほとんどの場合体力をつけると治る。 日本の中であっても、体力をつ
けると治るはずだが、 様々な理由により、日本の霊界の存在がばれてしまい、 この失態が明
るみになるので、治さないようにしている。よって、絶対にアトピーを治すには、 海外
に行き体力をつける。
http://life.2ch.net/test/read.cgi/atopi/1035703616/l50を参照
友人にデータベースを利用させてあげるのですが、 phpMyAdminをインストールして簡単にテーブル作成が行える ようにしたいと考えています。 何も設定しないと特権やらデーベースを作り放題になりますが これを1ユーザーに1データベースとして、その範囲で phpMyAdminを使わせるようにするには、どうしたらいいのでしょうか? ちなみにロリポップのようなイメージです。(知っている人がいたら)
Accessのレポートで・・・ 0の場合は表示せず、そのほかの場合は小数点第1位まで表示させるには どのような書式にしたらよいでしょうか。 0⇒(空白) 1.3⇒1.3 0.52⇒0.52
ACCESSで初心者質問です IIf([在庫数]<=0,"MsgBox ("在庫がありません",0+16,"在庫不足")=1 ","") これでエラーになるんですけど・・・・
>>962 ダブルクォートの中にダブルクォートは書けないので
"abc" + char(34) + "def" のようにする。
で、命令を文字列として渡してどうするの?
964 :
NAME IS NULL :04/07/20 23:30 ID:pL4XpRV2
Oracleのストアドを外部プログラム(java)から呼び出します。 そうすると、セッションが残ってしまいます。 プーリングを使っているので、そのセッションが残り続けると困ります。 ストアドの書き方に問題があるのでしょうか? それともJavaの方でしょうか? ちなみにJavaの方はstatementをcloseし、nullを代入してます。 ストアドはUpdate処理をしています。
自宅のウインドウズXP環境にmysql3.3.1をインストールして勉強しよう と思っています。 インストールして show databases;と入力しても testのみしか表示されません。dataフォルダ以下にはtest と mysql そして教材のサンプルデータベースがあるのですが、それが表示され ません。
966 :
NAME IS NULL :04/07/21 17:18 ID:yMLa5a9e
すいません 上記mysql4.0.2でした。 そして create database ****を実行すると Access denied for user '@localhost'to '****' とエラーがでます。
>>965 おう、がんがれよ!
わざわざ報告ご苦労さん。
968 :
NAME IS NULL :04/07/21 22:58 ID:Y0JWTJy/
すみません、質問させて下さい。 自分のPCに突然見たことのないファイルができてしまいました。 それがいったい何なのか心配です。 出来たファイルはファイルフォルダでそのなかに4つくらいのファイルがあります。 心配で削除したのですがまた同じファイルが出来ました。 このファイルフォルダが出現するまでにやった事で考えられる原因があるので説明します。 まずインターネット上にある拡張子.dbのファイルをダウンロードしてしまいました。 アイコンもWindowsの旗のままでそれが何なのか分からないのでとりあえず ファイルを開こうとワードで開きました。結果開けたのですが中身はまったく意味の分からないものでした。 開く際にワードのダイアログが出て何かの選択を求められましたがよく思い出せません。 選択にMS−DOSとか日本語シフトとかあったような気もします。 その後、ファイルフォルダはマイドキュメント内にできました。 見たことの無いフォルダで中に何かのマークがあります。 フォルダ名はMy Data Soucesだったと思います。 中の4つか5つくらいのファイルの拡張しは.odcなどだったと思います。 使用しているOSはWindows 2000です。 問題解決の為、どなたか宜しくお願いします。
969 :
NAME IS NULL :04/07/21 23:21 ID:Y0JWTJy/
すみません968ですが、できたファイルフォルダ名は My Data Sourcesのようです。 今まで見当たらなかったものが出てきたので心配です。 インターネットをする際にセキュリティ上問題あるでしょうか?
970 :
NAME IS NULL :04/07/21 23:26 ID:NfGHyF4Y
シェルスクリプトでSQLのselect文を発行し、検索結果をログファイル (spool)に保存し、検索したテーブルのデータを定期的にチェックする 処理を考えています。検索結果はファイルに保存する必要はあります が、画面への出力表示は抑止したいと考えています。 以下のようなシェルを作ったのですが、select文の実行結果が画面に 表示されてりまいます。 どなたか画面出力の抑止方法をご存知の方、よろしくお願いします。 #!/bin/sh while [ 1 ] do sqlplus xxxx/xxxx <<EOF spool $tmpfile select colum1,colum2 from table_name; set echo off; spool off; EOF $tmpfileのチェック処理 done
spoolの行を消して $ xxxxx.sh > logfile.log で実行すればいいんじゃない?
972 :
NAME IS NULL :04/07/22 22:29 ID:EAFdeSwM
973 :
NAME IS NULL :04/07/23 01:28 ID:6KHZsVp9
Oracle9iのインストールを実行中です。(OS:WIN2KPRO) ファイルコピーが終了して、構成ツールのところで 「Net configuration Assistant」「HTTPサービスを開始中」は すぐに状態が【成功しました】となりますが、 「Database Configuration Assistant」は状態が【処理中です】 となっており、この状態が数時間たっても変わりません。 CPU使用率は10%以下で、処理中のような感じがしません。 一度、削除再インストールをしましたが同じ状況です。 このステップは、こんなに時間がかかるものなのでしょうか?
974 :
970 :04/07/24 00:17 ID:isLDu6Nm
970です。 971さんのアドバイスでうまくいきました。 ありがとうございました。
975 :
NAME IS NULL :04/07/26 12:15 ID:/bteuyZW
オラクルをインストールしてサンプルデータベースを 作成したいと思いますがこのサンプルデータベースの デフォルトのインスタンス名はなにになりますか? ホスト名とかグローバルデータベース名とか。 よろしくお願い致します。
ORCLだっけ?
977 :
NAME IS NULL :04/07/27 17:10 ID:yBXMXypj
オラクルについて質問です。 「Oracle Database Standard Edition」のライセンスしか 無いのに、インストールタイプで「Enterprise Edition」を 選択してインストールした気がします。 インストールしたあとで、インストールタイプを 確認する方法がありましたら、教えてください。 ライセンスとインストールタイプの名称って同じものが 必要なのですよね?カスタムの扱いが不明だったので・・。 宜しくお願い致します。
Excelでテーブルの設計を行っています。 以下のようにシートを作成しているのですが、これをもとに CREATE TABLEを行うSQL文を作成するマクロというのは ありませんでしょうか? +----------+---------------------------+ |テーブル名| タイプ | +----------+---------------------------+ | name | CHAR(20) | +----------+---------------------------+ | age | MEDIUMINT | +----------+---------------------------+ | blod |ENUM("A","B","O","AB","?") | +----------+---------------------------+
979 :
678 :04/07/27 22:36 ID:KHfr+Oxx
上記ミスりました。 テーブル名でなくフィールド名です。
>>977 「select * from v$version;」でわかる。
Enterprise Editionを選択してインストールしたなら
"Enterprise Edition"ってでるよ。
981 :
977 :04/07/28 02:07 ID:???
>>980 ご返事どうもありがとう。
今日、出社したらやってみますね。
>>973 Win2000 & Oracle7 で、同じ症状になったことあるよ。
Win2000を再インストールしてOracle7をインストールしなおしても直らなかった。
なんか引っかかってると思うんだけど、なんなんだろうね
983 :
NAME IS NULL :
04/07/28 11:55 ID:tXWOjw4H どなたかオラクルのパッチの 当て方をおしえてください。