質問 |
||
| QNo.3664378 | テーブル作成時の行数の設定 | |
|---|---|---|
| 質問者:MAME2001 |
はじめまして。 SQL Serber 初心者で、他に聞ける人がいないため質問させていただきます。 環境:SQL Server2000 あるDBのテーブルからINSERT文にて取得したデータをテーブルに保存したいと思い、新規にテーブルを作成したところ、10000行しかデータが入りません。 (実際に取得したデータは、87000行くらいあるのですが、そのうち、10000行しか入らなかったです) 原因がわからず、困っています。 よろしくお願いいたします。 |
|
困り度:
|
||
| 質問投稿日時: 08/01/09 17:12 |
||
回答 |
|
| ANo.3 | ストアドの問題もそうですが、どちらかというと、 Accessのadpファイルでの制限もあるかもしれませんので、 そちらを調べてみることをお勧めします。 Accessになってしまうと、私まったくわからないので、 別途Accessのコーナーで詳しい方に聞いてみるといいかもしれません。 お役に立てなくてすいませんでした。 |
|---|---|
| 回答者:kero_mio | |
| 種類:アドバイス どんな人:経験者 自信:参考意見 |
|
| 回答日時: 08/01/23 15:57 |
|
| |
| この回答へのお礼 | いえいえ! ご親切にありがとうございます^^ Accessの方も調べてみますね。 ありがとうございました★ |
回答 |
|
| ANo.2 | 補足情報ありがとうございます。またお返事が遅くなってしまい すいません。 さて、情報を見る限り問題はなさそうで、さらにレコード長も そんなに長くはないので、私が予想していた原因とは 少し的が外れてしまいました。 更なる確認で申し訳ないのですが、下記ご確認頂けると助かります。 その1: INSERT INTO の下にあるSELECT文で、 ( SELECT ....... FROM M_SMOD RIGHT JOIN ((M_MODCAT RIGHT JOIN M_MOD ON .... ) で取得した場合は、全件取得できている状態でしょうか? その2: INSERT文ではなく、 SELECT .... INTO 登録先テーブル FROM M_SMOD RIGHT JOIN ((M_MODCAT RIGHT JOIN M_MOD ON .... とやった場合、どうなりますか? #SELECT ... INTO 句の詳しい使い方は http://msdn2.microsoft.com/ja-jp/library/ms188029.aspx をご覧下さい。 お手数をお掛けいたしますが、よろしくお願いします。 |
|---|---|
| 回答者:kero_mio | |
| 種類:補足要求 どんな人:経験者 自信:参考意見 |
|
| 回答日時: 08/01/12 03:04 |
|
| |
| 参考URL: | http://msdn2.microsoft.com/ja-jp/library/ms188029.aspx |
| この回答への補足 | こんにちは! お返事ありがとうございますね。 会社に出勤するのが火曜日になりますので、火曜日にまた試してみたいと思います。 ありがとうございますね^^ |
| この回答へのお礼 | 遅くなりました。 色々とありがとうございました。 SQL Server のEnterprise Manager では、きちんとSELECT文・INSERT文にてデータの取得ができるのですが、 Accessのadpファイルから、ストアドを実行すると、1万行しか入らないようです。 ストアドの書き方・実行の仕方が問題なのかもしれません。。 今回は、ここでやめておくことにしました。 ありがとうございました♪ |
回答 |
|
| ANo.1 | その格納先のテーブルですが、どれぐらいの項目数とレコード長が ありますか? また、どのようなSQLまたはストアド、T-SQLを書いて、 データを投入したのか教えて下さい。 できれば、INSERTしたコードとテーブル構成がわかると 有難いです。 |
|---|---|
| 回答者:kero_mio | |
| 種類:補足要求 どんな人:経験者 自信:参考意見 |
|
| 回答日時: 08/01/09 21:54 |
|
| |
| この回答への補足 | kero_mio様、ありがとうございます! 仕様(どうやっているか)を簡単ですが、ご説明させていただきます。 Accessのadpファイルに、画面(UI)を作成し、データはSQLServerのデータを持ってきています。 データは、ストアドで取得します。 テーブル ・WORKDATE char 8 ・BUSYOID char 2 ・WTIME real4 ・各種データの名称を格納するために varchar 50 のフィールドが9個 項目としては、計12個です。 ストアドです。 (JOIN句が長いですが、これで必要なデータは取得できています。 そのまま記載させていただきます) INSERT INTO MTA_WORKTIME (今回作成したテーブル名です) SELECT WORKTIME.WORKDATE,M_BUSYO.BUSYOID, RTRIM(M_BUSYO.BUSYONAME),RTRIM(M_USER.USERNAME), RTRIM(M_ACTCAT.ACTCATNAME),RTRIM(M_ACT.ACTNAME), RTRIM(M_PRJCAT.PRJCATNAME),RTRIM(M_PRJ.PRJNAME), RTRIM(M_MODCAT.MODCATNAME),RTRIM(M_MOD.MODNAME), RTRIM(M_SMOD.SMODNAME),WORKTIME.WTIME FROM M_SMOD RIGHT JOIN ((M_MODCAT RIGHT JOIN M_MOD ON M_MODCAT.MODCATID=M_MOD.MODCATID) RIGHT JOIN ((M_PRJCAT RIGHT JOIN M_PRJ ON M_PRJCAT.PRJCATID=M_PRJ.PRJCATID) RIGHT JOIN (M_ACT RIGHT JOIN (M_ACTCAT RIGHT JOIN (M_USER RIGHT JOIN (M_BUSYO RIGHT JOIN WORKTIME ON WORKTIME.BUSYOID=M_BUSYO.BUSYOID) ON WORKTIME.USERID=M_USER.USERID) ON (WORKTIME.BUSYOID=M_ACTCAT.BUSYOID) AND (WORKTIME.ACTCATID=M_ACTCAT.ACTCATID)) ON (WORKTIME.BUSYOID=M_ACT.BUSYOID) AND (WORKTIME.ACTCATID=M_ACT.ACTCATID) AND (WORKTIME.ACTID=M_ACT.ACTID)) ON WORKTIME.PRJID=M_PRJ.PRJID) ON (WORKTIME.PRJID=M_MOD.PRJID) AND (WORKTIME.MODID=M_MOD.MODID)) ON (WORKTIME.PRJID=M_SMOD.PRJID) AND (WORKTIME.MODID=M_SMOD.MODID) AND (WORKTIME.SMODID=M_SMOD.SMODID) WHERE (WORKTIME.BUSYOID = @Syokumu AND M_PRJ.KAIJYO_F = '0' AND M_USER.KAIJYO_F = '0' AND WORKTIME.WORKDATE>= @StartDate AND WORKTIME.WORKDATE <= @EndDate AND WORKTIME.WTIME <> 0); どこにも、10000行の設定はしていないのですが、何かわかりますでしょうか? よろしくお願いいたします。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |