我将查询保存在名为sqlcode
的表的列中,该表维护元数据。例如,以下是一个查询:
select
id, name, address, phone,
.......
......
, upddate
from
bank a
join
bankreg b on a.id = b.id
where
(condition)
我正在尝试更新保存在元数据中的查询文本但我想只更新查询的列名称部分,而不对select,from,joins或任何其他条件进行任何更改。任何只更新列名称的方法都会有所帮助。我尝试过使用replace
函数但无法获得所需的输出。
我想用主表中的列更新此文本查询的列。如果在master中添加了新列,我想将它们添加到元数据查询中,并以文本形式保存。 INFORMATION_SCHEMA.COLUMNS
现在为我提供了列名,我只想将这些列名更新为上面的查询
答案 0 :(得分:0)
如果您需要更新括号中的列,可以在REPLACE中更新它们,而无需更新SELECT部分中的项目。
select
id,name,address,phone,
.......
......
,upddate
from bank a
join bankreg b
on
a.id = b.id
where ([address] = 'My Street')
您的更新将是:
UPDATE MyTable SET MyCol = REPLACE(MyCol , '[address]', '[some_other_field]')
答案 1 :(得分:0)
您想要重命名部分中的列名吗?
对要重命名的每个名称使用currentNAme AS NewName,
或currentName NewName,
。
取决于DBMS天气支持一种或另外一种或两种语法(sql-server - > go with AS)。使用1列名称进行测试以查看哪一个有效,然后使用该列直到
select
id AS myNameForId,
name AS myNmeForName,
.......
......
,upddate
from bank AS a
join bankreg AS b
on
a.id = b.id
where (condition)
OR
select
id myNameForId,
name myNmeForName,
.......
......
,upddate
from bank a
join bankreg b
on
a.id = b.id
where (condition)