gpt4 book ai didi

sql - 有条件地将 Oracle 表中的列值更新为 1

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:42 25 4
gpt4 key购买 nike

我有一个包含 4 列的 Oracle 表 (Name, Phone, Email, Count)

如果用户正在更新 Name 列的值,那么我需要将 Count 列的值增加 1。

如果用户正在更新 Name 列以外的值,那么我不需要将 Count 列值递增 1。

最初,当插入记录时,Count 应该为 0。每次更新 Name 列时,Count 应该为递增 1(如 1、2、3 ......)。

我们如何才能做到这一点?我对数据库很陌生。

非常感谢您的帮助。

最佳答案

您可以在更新和插入触发器或您的程序中执行此操作。然而,后者需要所有可能的程序进行合作。前者(触发器)是魔法。

一个程序可以这样做:

UPDATE Person SET Count=Count+1, Phone='123' WHERE name=`csr` and Phone <> '123'; 

这将更新一条记录或不更新记录(即,如果电话已经是 123,它将什么都不做)。

顺便说一句:如果它丢失了,没有很好的解决方案来插入它。

嗯,你改变了你的问题,如果你没有另一个主键,更新名称是有问题的,这真的是你想要的吗?

关于sql - 有条件地将 Oracle 表中的列值更新为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29932947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com