사용자 정의 함수 삭제Delete User-defined Functions

SQL Server 2017SQL Server 2017 또는 다음을 사용하여 SQL Server Management StudioSQL Server Management Studio 에서 사용자 정의 함수를 삭제할 수 있습니다. Transact-SQLTransact-SQL

항목 내용In This Topic

시작하기 전 주의 사항 Before You Begin

제한 사항 Limitations and Restrictions

  • 데이터베이스에 이 함수를 참조하고 SCHEMABINDING을 사용하여 만든 Transact-SQL 함수나 뷰가 있는 경우 또는 해당 함수를 참조하는 계산 열, CHECK 제약 조건 또는 DEFAULT 제약 조건이 있는 경우 함수를 삭제할 수 없습니다.You will not be able to delete the function if there are Transact-SQL functions or views in the database that reference this function and were created by using SCHEMABINDING, or if there are computed columns, CHECK constraints, or DEFAULT constraints that reference the function.

  • 이 함수를 참조하고 인덱싱된 계산 열이 있는 경우 함수를 삭제할 수 없습니다.You will not be able to delete the function if there are computed columns that reference this function and have been indexed.

보안 Security

사용 권한 Permissions

함수가 속한 스키마에 대한 ALTER 권한 또는 함수에 대한 CONTROL 권한이 필요합니다.Requires ALTER permission on the schema to which the function belongs, or CONTROL permission on the function.

SQL Server Management Studio 사용 Using SQL Server Management Studio

사용자 정의 함수를 삭제하려면To delete a user-defined function

  1. 수정할 함수가 포함된 데이터베이스 옆의 더하기 기호를 클릭합니다.Click on the plus sign next to the database that contains the function you wish to modify.

  2. 프로그래밍 기능 폴더 옆의 더하기 기호를 클릭합니다.Click on the plus sign next to the Programmability folder.

  3. 수정할 함수가 포함된 폴더 옆의 더하기 기호를 클릭합니다.Click the plus sign next to the folder that contains the function you wish to modify:

    • 테이블 반환 함수Table-valued Function

    • 스칼라 반환 함수Scalar-valued Function

    • Aggregate 함수Aggregate Function

  4. 삭제할 함수를 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다.Right-click the function you want to delete and select Delete.

  5. 개체 삭제 대화 상자에서 확인을 클릭합니다.In the Delete Object dialog box, click OK.

    중요

    개체 삭제 대화 상자에서 종속성 표시 를 클릭하여 function_name종속성 대화 상자를 엽니다.Click Show Dependencies in the Delete Object dialog box to open the function_nameDependencies dialog box. 이 대화 상자에는 해당 함수에 종속된 모든 개체와 해당 함수가 종속된 모든 개체가 표시됩니다.This will show all of the objects that depend on the function and all of the objects on which the function depends.

Transact-SQL 사용 Using Transact-SQL

사용자 정의 함수를 삭제하려면To delete a user-defined function

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    -- creates function called “Sales.ufn_SalesByStore”  
    USE AdventureWorks2012;  
    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 AdventureWorks2012;  
    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  
    

    자세한 내용은 DROP FUNCTION(Transact-SQL)을 참조하세요.For more information, see DROP FUNCTION (Transact-SQL).