事件
3月31日 下午11時 - 4月2日 下午11時
規模最大的 SQL、Fabric 與 Power BI 學習盛會。 3 月 31 日至 4 月 2 日。 使用代碼 FABINSIDER 可節省 $400。
立即報名您可以使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中刪除 (卸除) 使用者定義的函式。
如果資料庫中有 Transact-SQL 函數或檢視參考這個函數,並且是利用 SCHEMABINDING 加以建立;或者如果有計算資料行、CHECK 條件約束或 DEFAULT 條件約束參考這個函數,就無法刪除函數。
若有計算列參考此函數而且已被建立索引,則無法刪除該函數。
需要對函數所屬結構的 ALTER 權限,或對函數的 CONTROL 權限。
選取包含要修改之函式的資料庫旁邊的加號。
選取 [可程式性] 資料夾旁的加號。
選取包含要修改之函式的資料夾旁邊的加號:
以滑鼠右鍵按一下您想刪除的函數,然後選取 [刪除]。
在 [刪除物件] 對話方塊中,選取 [確定]。
在 [刪除物件] 對話方塊中選取 [顯示相依性],開啟 [function_name][相依性] 對話方塊。 這就會顯示相依於函數的所有物件以及函數所相依的所有物件。
在物件總管中,連線至資料庫引擎的執行個體。
在標準列上,選取 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。
下列程式碼範例會建立使用者定義的函式:
-- 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
下列程式碼範例會刪除在上一個範例中建立的使用者定義函式。
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
事件
3月31日 下午11時 - 4月2日 下午11時
規模最大的 SQL、Fabric 與 Power BI 學習盛會。 3 月 31 日至 4 月 2 日。 使用代碼 FABINSIDER 可節省 $400。
立即報名