我有一个名为“User_Report”的表,其中包含这些列。
ID Name City zip Report_File
101 AAA PPP 123 -----
102 BBB QQQ 345 -----
103 CCC RRR 567 -----
104 FFF SSS 789 -----
我添加了Report_File新列,我需要使用Name +“。rpt”更新此列。 如何在单个更新语句中使用corressponding Name列数据更新Report_File列?
请给我举个例子?
提前致谢。
答案 0 :(得分:1)
请尝试以下查询。在oracle中,双管道(||
)用于连接字符串:
Update User_Report
SET Report_File=Name||'.rpt';
可以使用OR关键字CONCAT
。请参阅LINK
Update User_Report
SET Report_File=CONCACT(Name, '.rpt')
答案 1 :(得分:0)
您的report_file列似乎是一个计算值,如果它永远不会偏离,那么您可能会考虑一个虚拟列。
alter table user_report add (report_file varchar(40) as (name||'.rpt'));
这样您就不必担心保持同步状态,如果更改名称或插入新值,它将始终保持同步。