1

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

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 中看到了这个错误:

消息 195,级别 15,状态 10,第 14 行
“myFunction”不是可识别的内置函数名称。

请帮我

4

1 回答 1

3

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

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

我认为只需要模式名称,但我已经养成了两者都放的习惯。

文档解释说至少需要两个部分名称。如果您不知道架构是什么,那么以下可能会起作用:

update
   tableName
set
   score = dbo.myFunction(tableName.id)
于 2013-06-04T23:41:50.573 回答