oracle – 如何使用同一个表中另外两列的连接来更新列
发布时间:2021-05-30 19:16:13 所属栏目:站长百科 来源:网络整理
导读:我有一个包括3列a,b和c的表.我想知道怎样更新第三列的值与每行中两个其他列的毗连. before update A B c -------------1 42 53 6after update A B c -------------1 4 1_42 5 2_53 6 3_6 我奈何才气在oracle中这样做? 起首,您违背了类型化法则.你必需从头考
我有一个包括3列a,b和c的表.我想知道怎样更新第三列的值与每行中两个其他列的毗连. before update A B c ------------- 1 4 2 5 3 6 after update A B c ------------- 1 4 1_4 2 5 2_5 3 6 3_6 我奈何才气在oracle中这样做? 起首,您违背了类型化法则.你必需从头思量计划.假如您有表列中的值,那么要得到计较值,您只必要一个select语句来获取您想要的功效.存储计较值凡是是一个坏主意,并被以为是一个糟糕的计划.无论怎样, 由于你是11g,假如你真的想要一个计较列,那么我提议行使VIRTUAL COLUMN而不是手动更新列. UPDATE语句涉及许多开销.行使假造列可以镌汰大量开销.另外,您将完全挣出手动事变和那些代码行来举办更新. Oracle为您完成事变. 虽然,您将在假造列子句中行使沟通的毗连前提. 就像是, Column_c varchar2(50)GENERATED ALWAYS AS(column_a ||’_’|| column_b)VIRTUAL 留意:行使时有一些限定.因此,请在实验之俏拷寮文档.可是,对付OP提供的简朴用例,假造列是直接拟合的. 更新我做了一个小测试.险些没有调查到.请阅读此question,以便更好地相识怎样实验我的提议. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |