2016-09-27 29 views
0

我創建了一個函數Test1()。我想將函數重命名爲Test11()。如何在sql中使用查詢重命名該函數?

Create function dbo.Test1() 
    returns Datetime 
    AS 
     BEGIN 
    return (SELECT GETDATE()) 
    END 
    GO 
    SELECT dbo.Test1() 

如果可能使用查詢重命名函數名稱。

回答

1

如果您正在使用T-SQL這樣做,你就必須DROP功能,之後重新創建:

DROP FUNCTION dbo.Test1; 
CREATE FUNCTION dbo.Test11() 
RETURNS DATETIME 
AS 
BEGIN 
    RETURN (SELECT GETDATE()) 
END 

MSDN

要重命名的用戶定義函數

使用Transact-SQL語句無法執行此任務。要使用Transact-SQL重命名用戶定義的函數,必須先刪除現有函數,然後用新名稱重新創建它。確保所有使用該函數舊名稱的代碼和應用程​​序現在都使用新名稱。

+0

沒有丟失。如果可能重命名.. @ diiN_ – Meline

+0

@Meline MSDN說,你不能重命名它,而不必先刪除它。 –

3

重命名用戶定義的函數 使用Transact-SQL語句無法執行此任務。要使用Transact-SQL重命名用戶定義的函數,必須先刪除現有函數,然後用新名稱重新創建它。確保所有使用該函數舊名稱的代碼和應用程​​序現在都使用新名稱。

https://msdn.microsoft.com/en-us/library/hh510244.aspx

0

沒有辦法,除非你放棄重命名過程/函數,並重新創建它。

0

使用Transact-SQL語句無法執行此任務。要使用Transact-SQL重命名用戶定義的函數,必須先刪除現有函數,然後用新名稱重新創建它。確保使用該功能的舊名稱的所有代碼和應用程​​序現在使用新名稱

1
exec sp_rename 'dbo.Test1','Test11',object 
--1st parameter=Original object name 
--2nd parmeter=New name 
--3rd parmeter=Objecttype to rename(object,column,index)