*,rowid更新表中数据
时间: 2023-08-05 14:08:57 浏览: 50
在SQL语句中,*代表所有列,而ROWID是一个伪列,表示每一行的物理存储位置。它们两者在语义上是不同的,但在一些特定场景下可以一起使用。
如果需要更新表中的数据,可以使用UPDATE语句,同时可以使用*和ROWID来指定需要更新的行和列。例如,假设我们有一个表employees,它包含员工的姓名、年龄、职位等信息,我们想要将年龄小于30岁的员工的职位都修改为“实习生”,可以使用以下SQL语句:
```
UPDATE employees SET job_title = '实习生' WHERE age < 30;
```
以上语句将会将表中所有年龄小于30岁的员工的职位都修改为“实习生”。如果我们想要同时更新ROWID和所有列信息,可以使用以下SQL语句:
```
UPDATE employees SET ROWID = ROWID, * WHERE age < 30;
```
以上语句将会将表中所有年龄小于30岁的员工的ROWID和所有列信息都更新一遍。需要注意的是,ROWID是Oracle数据库中的一个伪列,在其他数据库中可能不存在或者有不同的实现方式。如果需要在不同的数据库之间进行数据迁移,建议使用更稳定的标识符,例如主键或唯一键等。