从保存在列中的表名更新表[重复]

Posted

技术标签:

【中文标题】从保存在列中的表名更新表[重复]【英文标题】:UPDATE within a table from table name saved in the column [duplicate] 【发布时间】:2014-09-26 18:50:00 【问题描述】:

我有一个小问题,但我相信它并不复杂。

很难找到关键词来描述问题并找到解决方案

我想使用此表中的参数更新表中的列,以便查询其他表。

示例:我有 Header + 2 行

IDSOURCE, IDCIBLE, IDENTIFIANT, TABLE_CIBLE, NOM_ATTRIBUT, NOM_CHAMP_IDENTTIFIANT, NOM_CIBLE 
--------------------------------------------------------------------------------------------    
DMT_1000, DMT_1000, 1000, [dictionnaire].[dbo].[TABLE_CHAMPS_DATAMART], NOM_CHAMP_DMT, IDENTIFIANT_CHAMP_DATAMART, NULL 
DMT_1001, DMT_1001, 1001, [dictionnaire].[dbo].[TABLE_CHAMPS_DATAMART], NOM_CHAMP_DMT, IDENTIFIANT_CHAMP_DATAMART, NULL

我想用类似的东西更新每一行的最后一列:

UPDATE
    Table
SET
    Table.NOM_CIBLE = SELECT table.NOM_ATTRIBUT FROM table.TABLE_CIBLE WHERE table.NOM_CHAMP_IDENTTIFIANT = table.IDCIBLE
FROM
    Table

不知道是否清楚。

感谢您的帮助。

【问题讨论】:

关键词是“从选择中更新”***.com/questions/2334712/… 这里的另一张桌子是什么? 另一个表包含在 TABLE_CIBLE 属性中,但它可以从 1 行更改为其他行 @Hystic:您可能需要运行游标并从保存在列中的表中获取值并在动态 sql 中使用它 您需要求助于dynamic sql 才能动态更改表名。 【参考方案1】:

这听起来像是您可以使用光标的情况。查看这个 *** 问题How to update a column fetched by a cursor

【讨论】:

以上是关于从保存在列中的表名更新表[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL 查询中的 CREATE/UPDATE/INSERT 语句中提取表名?

更新表名,使用新表名更新视图 [重复]

从sql列中拆分数据并将其保存在sql存储过程中的另一个表中的最有效方法是啥[重复]

在列中的两个值之间重复值

不同列中的大量重复 sum(x) 是不是会使 Select 变慢?

SQL 更新表中的所有条目,但在列上插入不同的值