Di Oracle, saya dapat membuat ulang tampilan dengan satu pernyataan, seperti yang ditunjukkan di sini:
CREATE OR REPLACE VIEW MY_VIEW AS
SELECT SOME_FIELD
FROM SOME_TABLE
WHERE SOME_CONDITIONS
Seperti yang tersirat dalam sintaks, ini akan menghilangkan tampilan lama dan membuatnya kembali dengan definisi apa pun yang telah saya berikan.
Apakah ada padanan di MSSQL (SQL Server 2005 atau yang lebih baru) yang akan melakukan hal yang sama?
sql-server
JosephStyons
sumber
sumber
Anda dapat menggunakan 'JIKA ADA' untuk memeriksa apakah tampilan ada dan hapus jika ada.
sumber
Untuk referensi dari
SQL Server 2016 SP1+
Anda bisa menggunakanCREATE OR ALTER VIEW
sintaks.db <> demo biola
sumber
Saya menggunakan:
...
Baru-baru ini saya menambahkan beberapa prosedur utilitas untuk hal-hal semacam ini:
Jadi sekarang saya menulis
Saya pikir itu membuat skrip perubahan saya sedikit lebih mudah dibaca
sumber
Saya biasanya menggunakan sesuatu seperti ini:
sumber
Pada SQL Server 2016 yang Anda miliki
Sumber MSDN
sumber
Ini berfungsi dengan baik untuk saya di SQL Server 2017:
https://www.mssqltips.com/sqlservertip/4640/new-create-or-alter-statement-in-
sumber
Anda dapat menggunakan ALTER untuk memperbarui tampilan, tetapi ini berbeda dari perintah Oracle karena ini hanya berfungsi jika tampilan sudah ada. Mungkin lebih baik dengan jawaban DaveK karena itu akan selalu berhasil.
sumber
Di SQL Server 2016 (atau yang lebih baru), Anda dapat menggunakan ini:
Dalam versi SQL server yang lebih lama Anda harus menggunakan sesuatu seperti
Atau, jika tidak ada ketergantungan pada tampilan, Anda bisa melepaskannya dan membuat ulang:
sumber
CREATE OR REPLACE VIEW
sintaks. Sintaks yang benar adalahCREATE OR ALTER VIEW
. Bagaimana bisa, setiap orang menyatakan ituCREATE OR REPLACE
di setiap utas SO lainnya yang saya temukan 🤔