2012-03-21 52 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