skrip ini membersihkan semua tampilan, SPS, fungsi PK, FK, dan tabel.
/* Drop all non-system stored procs */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])
WHILE @name is not null
BEGIN
SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Procedure: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO
/* Drop all views */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name])
WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped View: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO
/* Drop all functions */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY [name])
WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Function: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 AND [name] > @name ORDER BY [name])
END
GO
/* Drop all Foreign Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)
WHILE @name is not null
BEGIN
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
WHILE @constraint IS NOT NULL
BEGIN
SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']'
EXEC (@SQL)
PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)
END
GO
/* Drop all Primary Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
WHILE @name IS NOT NULL
BEGIN
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
WHILE @constraint is not null
BEGIN
SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'
EXEC (@SQL)
PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
END
GO
/* Drop all tables */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])
WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Table: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO
Saya menggunakan skrip ini oleh Adam Anderson, diperbarui untuk mendukung objek di skema lain selain dbo.
Sumber: posting blog Adam Anderson
sumber
-- system-versioned tables SELECT @stmt = isnull(@stmt + CHAR(10), '') + 'alter table [' + schema_name(schema_id) + '].[' + name + '] SET ( SYSTEM_VERSIONING = OFF)' FROM sys.tables WHERE TEMPORAL_TYPE = 2;
Hal terbaik untuk melakukannya adalah " Buat skrip untuk Drop "
Pilih Database -> Klik Kanan -> Tugas -> Buat Skrip - akan membuka panduan untuk membuat skrip
setelah memilih objek dalam opsi Scripting yang ditetapkan, klik Tombol Lanjut
-> Setel opsi 'Script to create' to true (ingin membuat)
-> Setel opsi ' Script to Drop ' ke true (ingin turun)
-> Pilih kotak centang untuk memilih objek yang ingin dibuat skrip
-> Pilih pilihan untuk menulis skrip (File, Jendela baru, Clipboard)
Ini termasuk objek dependen secara default. (Dan akan menghilangkan batasan pada awalnya)
Jalankan skrip
Dengan cara ini kami dapat menyesuaikan skrip kami.
sumber
Untuk menjatuhkan semua tabel:
Ini tentu saja akan menghilangkan semua kendala, memicu dll, semuanya kecuali prosedur yang tersimpan.
Untuk prosedur tersimpan, saya khawatir Anda akan membutuhkan prosedur tersimpan lainnya
master
.sumber
stored procedures
dll.Saya akan melakukannya dalam dua pernyataan:
DROP DATABASE ???
lalu
CREATE DATABASE ???
sumber
Saya mencoba beberapa script di sini, tetapi mereka tidak bekerja untuk saya, karena saya punya tabel di skema. Jadi saya mengumpulkan yang berikut ini. Perhatikan bahwa skrip ini mengambil daftar skema, lalu turun secara berurutan. Anda perlu memastikan bahwa Anda memiliki pemesanan lengkap di skema Anda. Jika ada dependensi melingkar, maka itu akan gagal.
sumber
Cadangkan basis data yang benar-benar kosong. Alih-alih menjatuhkan semua benda, kembalikan cadangannya.
sumber
Inilah yang saya coba:
Apa pun output yang akan dicetak, cukup salin semua dan tempelkan di kueri baru dan tekan eksekusi. Ini akan menghapus semua tabel.
sumber
Saya tidak sengaja menjalankan skrip init db terhadap database master saya malam ini. Ngomong-ngomong, aku dengan cepat berlari ke utas ini. Saya menggunakan: exec sp_MSforeachtable 'DROP TABLE?' menjawab, tetapi harus menjalankannya berkali-kali sampai tidak salah (dependensi). Setelah itu saya menemukan beberapa utas lainnya dan menyatukannya untuk menghapus semua prosedur dan fungsi yang tersimpan.
sumber
Coba ini
sumber
Selain jawaban @ Ivan, semua tipe harus disertakan
sumber
Anda harus menonaktifkan semua
triggers
danconstraints
pertama - tama.Setelah itu, Anda dapat membuat skrip untuk menghapus objek sebagai
Jalankan pernyataan yang dihasilkan.
sumber
Sepertinya fitur yang agak berbahaya bagi saya. Jika Anda akan menerapkan sesuatu seperti ini, saya akan memastikan untuk mengamankannya dengan benar sehingga Anda tidak akan dapat menjalankannya per kecelakaan.
Seperti yang disarankan sebelumnya, Anda dapat membuat semacam prosedur tersimpan sendiri. Di SQL Server 2005 Anda bisa melihat tabel sistem ini untuk menentukan dan menemukan objek yang ingin Anda jatuhkan.
sumber
Di sini saya menemukan permintaan baru untuk menghapus semua sp, fungsi dan pemicu
sumber
Untuk menambah jawaban Ivan, saya juga harus menghapus semua tipe yang ditentukan pengguna, jadi saya telah menambahkan ini ke skrip:
sumber
Tidak ada pernyataan tunggal yang dapat digunakan untuk mencapai tujuan ini.
Anda tentu saja dapat membuat sendiri
stored procedure
yang dapat Anda gunakan untuk melakukan berbagai tugas administrasi ini.Anda kemudian dapat menjalankan prosedur menggunakan pernyataan tunggal ini.
sumber
sumber
Untuk menghapus semua objek di oracle:
1) Dinamis
2) Statis
sumber
coba ini dengan sql2012 atau lebih tinggi,
ini akan membantu untuk menghapus semua objek dengan skema yang dipilih
sumber
Alternatif lain adalah:
sumber
coba ini....
sumber