Menghapus fungsi yang ditentukan pengguna
Berlaku untuk:SQL ServerAzure SQL Database
Anda dapat menghapus (menghilangkan) fungsi yang ditentukan pengguna di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.
Pembatasan dan batasan
Anda tidak akan dapat menghapus fungsi jika ada fungsi atau tampilan Transact-SQL dalam database yang mereferensikan fungsi ini dan dibuat dengan menggunakan SCHEMABINDING, atau jika ada kolom komputasi, batasan CHECK, atau batasan DEFAULT yang mereferensikan fungsi.
Anda tidak akan dapat menghapus fungsi jika ada kolom komputasi yang mereferensikan fungsi ini dan telah diindeks.
Izin
Memerlukan izin ALTER pada skema tempat fungsi berada, atau izin CONTROL pada fungsi.
Menggunakan SQL Server Management Studio
Pilih tanda plus di samping database yang berisi fungsi yang ingin Anda ubah.
Pilih tanda plus di samping folder Programmability .
Pilih tanda plus di samping folder yang berisi fungsi yang ingin Anda ubah:
- Fungsi bernilai tabel
- Fungsi bernilai skalar
- Fungsi Agregat
Klik kanan fungsi yang ingin Anda hapus dan pilih Hapus.
Dalam kotak dialog Hapus Objek , pilih OK.
Pilih Perlihatkan Dependensi dalam kotak dialog Hapus Objek untuk membuka kotak dialog dependensi function_name. Ini akan menunjukkan semua objek yang bergantung pada fungsi dan semua objek yang bergantung pada fungsi.
Menggunakan Transact-SQL
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan.
Sampel kode berikut membuat fungsi yang ditentukan pengguna:
-- creates function called "Sales.ufn_SalesByStore" USE AdventureWorks2022; GO CREATE FUNCTION Sales.ufn_SalesByStore (@storeid int) RETURNS TABLE AS RETURN ( SELECT P.ProductID, P.Name, SUM(SD.LineTotal) AS 'Total' FROM Production.Product AS P JOIN Sales.SalesOrderDetail AS SD ON SD.ProductID = P.ProductID JOIN Sales.SalesOrderHeader AS SH ON SH.SalesOrderID = SD.SalesOrderID JOIN Sales.Customer AS C ON SH.CustomerID = C.CustomerID WHERE C.StoreID = @storeid GROUP BY P.ProductID, P.Name ); GO
Sampel kode berikut menghapus fungsi yang ditentukan pengguna yang dibuat dalam contoh sebelumnya.
USE AdventureWorks2022; GO -- determines if function exists in database IF OBJECT_ID (N'Sales.fn_SalesByStore', N'IF') IS NOT NULL -- deletes function DROP FUNCTION Sales.fn_SalesByStore; GO
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk