sql 2000が空になったら、表のidを1からデータベース操作を待つようにします。

3231 ワード

truncateテーブル名(
データの回復不可能性の削除はtruncateタグの列が並びます)
LinqUtil.Db.Execute Command(「TRUNCATE TABLE warehousing」);warehousingは表の名前で、このような削除効率はもっと高くて、カウンタをクリアしますが、外キーがあるテーブルは使えません。外キーを削除してから使えます。
LinqUtil.Db.Execute Commund(「delete ioinfo」);このような削除はカウンタを空にすることができませんので、下のクリアはまだです。
LinqUtil.Db.Execute Command(「dbcc checkdent(ioinfo、reeed、0)」);クリアカウンター、ioinfoを表名とします。
LinqUtil.Db.Submit Changes()
テーブルを空にして実行します
DBCC CHECKIDENT(表名、reeed、開始値)
例えば:
表EmployeeのIDを空にしてから1から始めます。
DBCC CHECKIDENT(Employee,reeed,0)--データを追加しました。開始値から1を追加します。
-----------------------------------------------
SQL文を使って、データベースのすべてのテーブルのデータを空にします。
最近はデータベースが大きすぎて、スペースが足りないので、データベースのデータを全面的に整理するつもりですが、テーブルがとても多くて、一枚一枚のクリアが面倒くさいので、SQL文を使って一度にすべてのデータを空にしたいです。三つの方法を見つけて、空にします。使っているデータベースはMS SQL SERVERです。
1.表の名前を全部検索してSQL文にします。
 
  
declare @trun_name varchar(8000)
set @trun_name=''
select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from sysobjects where xtype='U' and status > 0
exec (@trun_name)
この方法は表があまり多くない場合に適しています。そうでないと表の数が多すぎて、文字列の長さを超えて、完全に整理できません。
2.遊覧標識を利用してすべての表を整理する
 
  
declare @trun_name varchar(50)
declare name_cursor cursor for
select 'truncate table ' + name from sysobjects where xtype='U' and status > 0
open name_cursor
fetch next from name_cursor into @trun_name
while @@FETCH_STATUS = 0
begin
exec (@trun_name)
print 'truncated table ' + @trun_name
fetch next from name_cursor into @trun_name
end
close name_cursor
deallocate name_cursor
これは自分で作ったものです。保存プロセスとして呼び出すことができます。すべてのテーブルのデータを一度に空にすることができます。
3.マイクロソフト未公開のストレージを利用する
exec sp_ms foreachtable「truncate table?」
この方法はすべての表を一度に空にすることができますが、フィルタ条件を加えることはできません。
-----------------------------------------------
空の時計sql文
deleteを使って空のチェックができます。
DELETE FROM表名
truncateコマンドも使用できます。
truncateテーブル名
CREATE TABLE表名[表制約]
(列名1データタイプ[デフォルト値1,列制約1]
(列名2データタイプ[デフォルト値2,列制約2]

列名nデータタイプ[デフォルト値n,列制約n]
[TABLESPACE表空間名]
[STORAGE(貯蔵してある子文)]
[ENABLE制約名]
[DISABLE制約名]
?データの挿入
INSERT INTO表名((列名1、...)
VALES(値1、値2、…、値n)
?データの変更
UPDATE表名SET列名1=表式1、列名2=表式2…
WHERE条件
?データの削除
テーブルの既存のデータを削除します。存在しないデータは削除できません。
ステートメント構文:
DELETE FROM表名WHERE条件;
?テーブル構造の変更
既存のテーブルに新しい列を追加します。ステートメント:
ALTER TABLE表名ADD(新しい列名データタイプ(長さ);
たとえば:
ALTER TABLE STUDENT ADD(DEPARTENT CHAR(8));
b.既存の列のデータタイプを追加します。
たとえば:
ALTER TABLE STUDENT MODIFY(NAME VRCHARR 2(25));
?テーブルの削除
既存のテーブルを削除します。ステートメント:
DROP TABLE表名
たとえば:
DROP TABLE EMP
?クエリ文
SELECT命令の文法は以下の通りです。
SELECT[DISTINCT𞓜ALL]{*124;モード名.}{表名|ビュー名|
スナップショット名.*……{表式[列の別名]…}[,[モード名.]{表名|
ビュー名(*……|式[列のエイリアス]…….
FROM[モード名.]{表名|ビュー名|スナップネーム}[@データベースチェーン名][表別名]
[モード名.]{テーブル名|ビュー名|スナップ名}[@データベースチェーン名]
[表別名]…
[WHERE条件]
[START WITH条件CONNET BY条件]
[GROUTP BY表現[,表現]…[HAVING条件]
[ユニオンユニオンALL]:SELECT命令
[ORDER BY{表式𞓜位置}[ASC𞓜DESC][,{表式|位置[ASC|DESC]]]