oracle 插入语句问题

oracle 插入语句 :
在表中age字段插入数据23:前提是当name=‘张三’
sql怎么写

insert into 表名(age) values(23)
where name = '张三'

要在Oracle中使用INSERT语句插入数据,并在特定的条件下为特定的记录设置值,可以使用以下语法:

INSERT INTO 表名 (列1, 列2, 列3, ...) 
    SELECT1, 值2, 值3, ...
    FROM 表名
    WHERE name = '张三';

这将在表中插入一个新行,该行具有指定的列和值,并仅在满足指定条件的情况下才会将值插入指定的行。

如果要批量插入数据,可以使用INSERT INTO SELECT语句。假设有一个表名为“people”,其中包含两个列:姓名和年龄。如果想要批量插入年龄信息,可以使用以下语法:

INSERT INTO people (age)
    SELECT 23
    FROM people
    WHERE name = '张三';

这将在所有姓名为“张三”的记录中插入年龄为23的值。如果想要为不同的人插入不同的年龄,可以使用类似的INSERT INTO SELECT语句,并在SELECT子句中提供每个人对应的年龄值。例如:

INSERT INTO people (age)
    SELECT 
        CASE name 
            WHEN '张三' THEN 23
            WHEN '李四' THEN 25
            WHEN '王五' THEN 28
            ELSE NULL 
        END 
    FROM people 
    WHERE name IN ('张三', '李四', '王五');

这将在所有姓名为“张三”、“李四”、“王五”的记录中插入对应的年龄值。如果有其他人的记录,将不会插入任何值,因为ELSE子句为NULL。

直接建一个正确name,age的表,然后把正确数据放进去,再根据name什么的关联,更新你表的age?

1、你这明显是想使用 INSERT 行使 UPDATE 的功能的嘛…………