在Orace 中,有一个名为seq id 的序列对象假定此时查看seq id 序列当前值显示为100,那么执行下面的sqlinsert into test(id, name) values(seg id.NEXTVAL,'tom' );很不幸,这个insert 没有执行成功,随后马上执行rollback,问: 此时查看seq id 序列当前值显示为: A、99 B、101 c、100 D、不能确定
时间: 2024-04-16 12:25:19 浏览: 17
在Oracle中,执行rollback操作会回滚事务,包括对序列的使用。因此,即使在执行insert操作之前序列的当前值是100,但由于rollback回滚了事务,导致insert操作没有被成功提交,序列的当前值还是保持在之前的状态。
所以,此时查看seq id序列当前值仍然显示为100。选项C、100是正确的答案。
相关问题
orace根据一个表的一个字段去重然后把这个表都显示出来
你可以使用以下的SQL语句来根据一个表的一个字段去重并显示整个表:
```
SELECT DISTINCT * FROM table_name;
```
其中,`table_name`是你想要操作的表名。这个查询会返回一个去重后的结果集,其中包含了这个表的所有字段和行。
orace查询每一个课程号和他的选课人数
假设有一个选课表 course_selection,包含以下字段:student_id、course_id 和 selection_time。现在要查询每个课程号和对应的选课人数,可以使用如下 SQL 语句:
```
SELECT course_id, COUNT(DISTINCT student_id) AS student_count
FROM course_selection
GROUP BY course_id;
```
其中,DISTINCT 关键字用于去重,避免一个学生在选课表中出现多次。COUNT 函数用于计算学生数量,AS 关键字用于给计算结果起一个别名 student_count。GROUP BY 子句用于对 course_id 列进行分组,查询每个课程号对应的选课人数。
需要注意的是,这里的查询结果会包含所有存在的课程号,即使某个课程没有人选也会返回该课程号和选课人数为 0。如果只需要查询已经有人选的课程号,可以使用 INNER JOIN 子句连接课程表和选课表,然后使用 COUNT 函数计算每个课程号的选课人数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)