Nama tabelnya adalah Scores
.
Apakah benar melakukan hal berikut?
IF EXISTS(SELECT *
FROM dbo.Scores)
DROP TABLE dbo.Scores
sql-server
tsql
kepala sekolah
sumber
sumber
'U'
untuk param kedua tampaknya berarti "Hanya mencari objek dengan nama ini yang merupakan tabel". Satu sumber . JadiOBJECT_ID('TableName')
tidak salah , tapi juga tidak tepat, jadi'U'
dalam jawaban yang sangat bagus dari @ Martin.Dari SQL Server 2016 Anda dapat menggunakan
Referensi: DROP JIKA ADA - hal baru di SQL Server 2016
Ini akan segera di SQL Azure Database.
sumber
Cara ANSI SQL / lintas-platform adalah dengan menggunakan INFORMATION_SCHEMA , yang secara khusus dirancang untuk meminta data meta tentang objek dalam database SQL.
Sebagian besar server RDBMS modern menyediakan, setidaknya, dukungan dasar INFORMATION_SCHEMA, termasuk: MySQL , Postgres , Oracle , IBM DB2 , dan Microsoft SQL Server 7.0 (dan lebih besar) .
sumber
if exists
ansi sesuai?Telah melihat begitu banyak yang tidak benar-benar berfungsi. ketika tabel temp dibuat, itu harus dihapus dari tempdb!
Satu-satunya kode yang berfungsi adalah:
sumber
dbo
untuktempdb
menjadikan ini berfungsi. Saya juga ingin menyarankan untuk menambahkan'u'
seperti yang disebutkan dalam komentar jawaban yang diterima. Dengan demikian, pernyataan IF lengkap akan terlihat seperti ini:IF OBJECT_ID('tempdb..#temp', 'U')
Di SQL Server 2016 (13.x) dan di atasnya
Dalam versi sebelumnya
Kamu adalah milikmu
table type
sumber
Atau:
sumber
if exists (select * from sys.tables where name = 'Scores') drop table Scores
Saya harap ini membantu:
sumber
Saya menulis UDF kecil yang mengembalikan 1 jika argumennya adalah nama tabel yang masih ada, 0 sebaliknya:
Untuk menghapus tabel
User
jika ada, panggil seperti itu:sumber
Sederhana itu:
di mana
dbo.TableName
meja yang Anda inginkan dan 'U' adalahtype
milik Andatable
.sumber
sumber
Saya menggunakan:
sumber
Ada cara yang lebih mudah
sumber
Cara visual yang lebih baik dan mudah, jika Anda menggunakan Visual Studio, cukup buka dari menu bar,
itu harus terbuka seperti yang ditunjukkan di sini
Pilih dan Klik Kanan Tabel yang ingin Anda hapus, lalu hapus. Layar seperti itu harus ditampilkan. Klik Perbarui Database untuk mengonfirmasi.
Metode ini sangat aman karena memberi Anda umpan balik dan akan memperingatkan hubungan apa pun dari tabel yang dihapus dengan tabel lainnya.
sumber
SQL
, tidak terkait denganVisual Studio
. Karena itu, jawaban ini tidak relevan dengan pertanyaan ini.Lakukan seperti ini, itu adalah cara termudah.
qry
akan menjadi permintaan Anda sendiri, apa pun yang Anda inginkan dalam daftar pilih.sumber