【问题标题】:filling in table from function return sql server从函数返回sql server填表
【发布时间】:2012-06-13 22:43:34
【问题描述】:

我有一张桌子,例如:

PK_ID  LOCATION_ID     LOCATION_TEXT
 1          21           NULL
 2          44           NULL
 3          26           NULL

我有一个从LOCATION_ID 返回LOCATION_TEXT 的函数。我正在尝试做类似的事情:

update mytable 
set locationText = (select dbo.fcGetLocationText (LOCATION_ID) from mytable) 

我收到了

子查询返回超过 1 个值

错误,我有点理解,但我不知道该怎么做...如何在没有游标或 while 循环的情况下更新 LOCATION_TEXT 列?

【问题讨论】:

  • 欢迎使用 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击 code samples 按钮 ({ })编辑器工具栏可以很好地格式化和语法高亮它!

标签: sql-server tsql


【解决方案1】:

为什么不简单:

UPDATE mytable SET LOCATION_TEXT = dbo.fcGetLocationText(LOCATION_ID);

还有为什么你的列名大喊大叫?

【讨论】:

  • 可能是迁移的 Oracle 数据库?那些往往有全部大写的列名......
  • 呃。是的,这行得通!谢谢。我认为他们之所以大喊大叫,是因为他们没有得到适当的填补,而且他们有自卑感,需要关注。现在他们会更新,他们会更开心,可以回到小写!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
  • 1970-01-01
  • 2018-04-09
  • 1970-01-01
相关资源
最近更新 更多