• 締切済み

テーブル作成時の行数の設定

はじめまして。 SQL Serber 初心者で、他に聞ける人がいないため質問させていただきます。 環境:SQL Server2000 あるDBのテーブルからINSERT文にて取得したデータをテーブルに保存したいと思い、新規にテーブルを作成したところ、10000行しかデータが入りません。 (実際に取得したデータは、87000行くらいあるのですが、そのうち、10000行しか入らなかったです) 原因がわからず、困っています。 よろしくお願いいたします。

みんなの回答

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.3

ストアドの問題もそうですが、どちらかというと、 Accessのadpファイルでの制限もあるかもしれませんので、 そちらを調べてみることをお勧めします。 Accessになってしまうと、私まったくわからないので、 別途Accessのコーナーで詳しい方に聞いてみるといいかもしれません。 お役に立てなくてすいませんでした。

MAME2001
質問者

お礼

いえいえ! ご親切にありがとうございます^^ Accessの方も調べてみますね。 ありがとうございました★

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.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  をご覧下さい。 お手数をお掛けいたしますが、よろしくお願いします。

参考URL:
http://msdn2.microsoft.com/ja-jp/library/ms188029.aspx
MAME2001
質問者

お礼

遅くなりました。 色々とありがとうございました。 SQL Server のEnterprise Manager では、きちんとSELECT文・INSERT文にてデータの取得ができるのですが、 Accessのadpファイルから、ストアドを実行すると、1万行しか入らないようです。 ストアドの書き方・実行の仕方が問題なのかもしれません。。 今回は、ここでやめておくことにしました。 ありがとうございました♪

MAME2001
質問者

補足

こんにちは! お返事ありがとうございますね。 会社に出勤するのが火曜日になりますので、火曜日にまた試してみたいと思います。 ありがとうございますね^^

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.1

その格納先のテーブルですが、どれぐらいの項目数とレコード長が ありますか? また、どのようなSQLまたはストアド、T-SQLを書いて、 データを投入したのか教えて下さい。 できれば、INSERTしたコードとテーブル構成がわかると 有難いです。

MAME2001
質問者

補足

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行の設定はしていないのですが、何かわかりますでしょうか? よろしくお願いいたします。

関連するQ&A