2012-03-21 111 views
3

我做了以下內容:SQL調用自定義函數 - TSQL

Insert into table1 
    (Phone#) values @Phone 

有一個自定義函數,將格式化的電話號碼。它接受電話號碼作爲輸入參數並返回格式化版本。

我嘗試以下,但不知道這是行不通的:

Insert into table1 
    (Phone#) values fn_phone(@Phone) 

它說fn_phone是無法識別的內置函數名稱。我在打電話給fn_phone時做錯了什麼?

+0

我的假設是y你需要在VALUES集合周圍使用parens。例如INSERT INTO table1(phone_num)VALUES(dbo.fn_phone(@phone)) – 2012-03-21 19:25:34

回答

7

當你調用UDF

使用兩部分名稱試試這個:

Insert into table1 
    (Phone#) select dbo.fn_phone(@Phone) 
0

假設的功能是從 「DBO」 模式:

Insert into table1 
    (Phone#) values (dbo.fn_phone(@Phone)) 
+0

「VALUES」關鍵字後面的值也必須括在(圓)括號中。 – 2012-03-22 08:29:51

+0

@Andriy M:謝謝 – 2012-03-22 23:31:29