gpt4 book ai didi

sql - Oracle 无法保留数据

转载 作者:行者123 更新时间:2023-12-04 10:14:26 26 4
gpt4 key购买 nike

我的系统上安装了 oracle 数据库

我通过命令行访问它。

win+r > cmd > sqlplus

我创建了一个用户
system


password system

我创建了一个表
create table users ( username varchar(20));

插入了几条记录。
insert into users (username ) values ('user1');
insert into users (username ) values ('user2');

然后我退出
>exit

问题是当我再次尝试登录时。

table 还在。但是我插入的数据不见了。
select * from users;

输出
no rows selected

最佳答案

SQL*Plus 可以选择自动提交:

SET AUTO[COMMIT]{ON | OFF | IMM[EDIATE] | n}

来自 documentation :
  • 在 Oracle 数据库执行每个成功的 INSERT、UPDATE 或 DELETE 或 PL/SQL 块后,ON 提交对数据库的挂起更改。
  • OFF 禁止自动提交,因此您必须手动提交更改。
  • SET AUTOCOMMIT SQL*Plus 退出时不会改变提交行为。 默认情况下会提交任何未提交的数据。

  • 控制对 EXIT 的提交,您需要设置 退出提交 SQL*Plus 中的参数:
    SQL> show exitcommit
    exitcommit ON
    SQL> set exitcommit off

    如果设置为 OFF,则您需要明确 提交 在插入语句之后,这是一个 DML 事务。创建表是一个执行隐式提交的 DDL 语句。
    insert into users (username ) values ('user1');
    insert into users (username ) values ('user2');
    COMMIT; --> add this

    I have created a user system


    SYSTEM是安装 Oracle 数据库时自动创建的管理用户帐户。它用于管理任务,而不是存储应用程序数据等。为您的应用程序创建一个单独的用户。

    关于sql - Oracle 无法保留数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61143295/

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