Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Database Azure
SQLDatabase SQL di Microsoft Fabric
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-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 sebelah 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 function_nameDependensi . 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 ); GOSampel 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