oracle 插入语句 :
在表中age字段插入数据23:前提是当name=‘张三’
sql怎么写
insert into 表名(age) values(23)
where name = '张三'
要在Oracle中使用INSERT语句插入数据,并在特定的条件下为特定的记录设置值,可以使用以下语法:
INSERT INTO 表名 (列1, 列2, 列3, ...)
SELECT 值1, 值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 的功能的嘛…………