SQL Server内置函数名称

时间:2013-06-04 23:34:51

标签: sql-server sql-server-2012

我正在尝试像这样更新总和列数据:

update
   tableName
set
   score = myFunction(tableName.id)

在另一方面,我希望有一个这样的表:

column1   |     column2
------------------------------    
  id1     |  myFunction(id1)
  id2     |  myFunction(id2) 
  id3     |  myFunction(id3)
  id4     |  myFunction(id4)

我将myFunction定义为标量值函数。我也尝试过它作为表值函数 但我在SQL Server 2012中看到了这个错误:

  

Msg 195,Level 15,State 10,Line 14
  'myFunction'不是公认的内置函数名称。

请帮帮我

1 个答案:

答案 0 :(得分:3)

尝试使用函数的全名,包括数据库和模式名称:

update
   tableName
set
   score = <database>.<schema>.myFunction(tableName.id)

我认为只需要架构名称,但我已经养成了放置两者的习惯。

documentation解释说至少需要两部分名称。如果您不知道什么模式,那么以下内容可能会起作用:

update
   tableName
set
   score = dbo.myFunction(tableName.id)