No.3ベストアンサー
- 回答日時:
繰り返し同じコマンドを実行する方法として、isqlの場合は、
go の後に数字をいれることで、コマンドを繰り返し実行できます.
例えば
insert table values ( 1 )
go 10
と指定すると、insert 文を10回繰り返し実行します。
また、set rowcount を使用すると、この後実行されるSQLの対象件数を指定することができます。
例えば
set rowcount 1000
Select * from Table
とすれば1000件が検索されます。
同じように
set rowcount 1000
Delete Table
とやれば100件、削除されるはずです。
ループを使用したい場合 While 文を使います.
前述のset rowcount とあわせて使うといいかもしれません。
set rowcount 1000
declare @count int
select @count = 0
while @count < 100
begin
delete Table [where条件]
select @count = @count + 1
end
削除の対象となる条件がしていされていないので、テーブル先頭の方から適当に1000件消えてしまいます.
実際に作業される際は条件を指定する必要があると思います.
また、Device がいっぱいになるとのことですが、トランザクションログ用のデバイスのことでいいですよね。
上記の方法では、いずれにせよトランザクションログはいっぱいになってしまうと思います.Dump tran 等で適宜対処する必要があるでしょう。
残したい行の条件が指定できるのであれば、 select into コマンドで
別テーブルに残したい行を移動し、元のテーブルを trancate table で削除、テーブルをリネームするのがいいと思います。select into や truncate table は大量にトランザクションログを出さないはずなので何度もコマンドを発行するよりいいと思います.
実際に処理を実行される場合は、必要なデータまで消さないように十分注意して行ってくださいね。
各コマンドの詳細はマニュアルを確認してください。
PDFのマニュアルのURLを参考URLに記入しておきます。
以上、がんばってください。
参考URL:http://www.sybase.co.jp/product/manuals/index.html
この回答への補足
YanYasさん、回答ありがとうございました。
早速使ってみようかと思いますが、2点ほど質問させてください。
while文を使用した際、1000件になるまでまわしていますが、一番初めにset rowcount 1000 を何故セットする必要があるのでしょうか?
トランザクションがいずれにせよいっぱいになる(!)とのことでしたので、Dump tran を行いたいと思います。
ちなみに checkpoint コマンドはトランザクションログのクリアになりますか?
初心者の質問ですみません。
が、たいへん助かってます!
No.2
- 回答日時:
#1です。
別の方法を書きます。必要なレコードをエクスポートし、表をdrop table で表削除した後、
新たに create table すれば、フラグメンテーションも解消されるので、良いかも!
そして、エクスポートファイルからインポートすると。
No.1
- 回答日時:
Sybaseですか。
。 使ったことはないですが、他社DBからの類推で話をします。100万件のレコードの削除ということですが、1つの表の全レコードを削除するのですか?
それとも、不要なレコードだけ削除するのですか?
前者の場合、Oracleでは表内の全レコードを削除するSQL文が存在します。
"truncate table"文です。このSQL文はレコード管理ブロック部のみ初期化するので、
delete文より遥かに高速です。トランザクション処理をスキップしますので。
Sybaseにも同様なSQL文があればよいのですが。。
-----------------------
「一気に削除するとDeviceがいっぱいとなる」とのことですが、おそらく、
トランザクション管理領域(Oracleでは「ロールバックセグメント」)がパンクするためでしょう。
DBのトランザクション設定を削除するときだけ、変更してみてはいかがですか?
Oracle、DB2、informixでもそうですが、トランザクション処理を変更することができます。
トランザクション処理を一切行わない、いわゆる「ダーティリード・モード」にすれば、
「一気に削除するとDeviceがいっぱいとなる」現象は発生しないと思います。
一気に削除できるでしょう。
一度、マニュアルを見てはいかかでしょうか?
もし、うまくいった場合、トランザクション設定を元に戻すことも忘れずに。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- ドライブ・ストレージ iPhoneのストレージについて 4 2023/01/13 20:13
- UNIX・Linux yumやaptで依存関係で自動的にインストールされたパッケージ群を削除時にも自動で削除する事は可能か 1 2022/08/23 17:21
- Android(アンドロイド) 【google One】グーグルワンの無料の15GBの容量が不足しています。スマホ内 7 2023/02/05 06:30
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
- Windows 10 削除できないフォルダ【ファルダの中身のファイルも】にするには 3 2022/12/28 09:21
- Google 翻訳 アプリ表示用のアイコンが削除できません 1 2022/07/03 23:51
- その他(メールソフト・メールサービス) ocn メールを、機種変の新しいiPhoneに設定しました。 下のURLにあるプロファイル一括設定で 1 2023/07/04 01:29
- LINE LINEのトーク内容一部を自分も相手も削除する方法 3 2022/10/21 03:27
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
秘密基地、どこに作った?
小さい頃、1度は誰もが作ったであろう秘密基地。 大人の今だからこそ言える、あなたの秘密基地の場所を教えてください!
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
ちょっと先の未来クイズ第5問
日本漢字能力検定協会が主催し、12月12日に発表される、2024年の「今年の漢字」に選ばれる漢字一文字は何でしょう?
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
数百万件レコードのdelete
SQL Server
-
大量レコードをTRUNCATEせずにすばやく削除する方法
Oracle
-
100万件レコードdelete
SQL Server
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
列のDEFAULT設定を削除するコマ...
-
Excel テーブル内の空白行の削除
-
HiRDBのPURGEとDROPの違い
-
条件付DELEATE文について
-
アクセス通貨型or数値型について
-
Access2003 VBAのDELETEについて
-
L2SWはARPテーブルを持っている?
-
テーブル名をカラムとして取得...
-
ROWNUMでUPDATEをしたいのです...
-
SQL*LoaderでCSVから指定した列...
-
SQL、2つのテーブルで条件一致...
-
SELECT 文の NULL列は?
-
Accessでデータシートに同じデ...
-
sqlplusで表示が変なので、出力...
-
会社の飲み会の幹事になり、座...
-
一つ前に戻るには…
-
update文で改行を入れる
-
SQL 複数テーブルのupdate
-
外部キーだけのテーブル(主キ...
-
まるいテーブル 円い 丸い 漢字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel テーブル内の空白行の削除
-
アクセスのクエリでレコード削...
-
トリガって、自分自身のテーブ...
-
HiRDBのPURGEとDROPの違い
-
アクセス2010について
-
ACCESSのマクロでテーブルのデ...
-
CSVファイルから一括して削除す...
-
Access2000の削除クエリで消し...
-
テーブルデータの削除による対応策
-
mysqlで間接クエリー実行させた...
-
Accessのテーブルをすべて削除
-
アクセス通貨型or数値型について
-
削除フラグってどうなんでしょう?
-
リレーションについて
-
ワークテーブルなのに自動で削...
-
列のDEFAULT設定を削除するコマ...
-
MySQLのストアドでファイルを削除
-
MySQLを勉強中ですが、作業の内...
-
レコードの削除で delete from ...
-
物理削除と論理削除、どっちが...
おすすめ情報