Table 在 OracleDB 中关闭会话时自动清除
Table gets auto-cleared when session is closed in OracleDB
我有这个 oracle 数据库实例
C:\> set ORACLE_SID=orcl;
C:\> sqlplus / as sysdba
当我创建 table 并在其中添加几行时
SQL> SELECT table_name
FROM user_tables
ORDER BY table_name;
SQL> INSERT ALL
INTO customers (customer_id , customer_name, city ) VALUES (1, 'Aman', 'Ranchi')
INTO customers (customer_id , customer_name, city ) VALUES (2, 'Akib', 'Purulia')
SELECT * FROM dual;
SQL> UPDATE customers
SET customer_name = 'Aashi'
WHERE customer_id = 1;
现在当我登录时out/quitting
SQL > Ctrl^C
然后再次登录,这就是我得到的 no rows selected
为什么我的更改没有受到影响?
您似乎忽略了 commit
您的更改。当您强行终止 SQL*Plus
而不是正常注销时,Oracle 回滚了您的更改。
另外,如果您要在数据库中创建对象,请不要以 sys
身份登录或在 sys
模式(或 system
表空间)中创建它们).创建一个将拥有您的对象的新用户,为用户对象创建一个表空间供该用户使用,然后以该用户身份登录以创建对象。不支持在 sys
架构中创建对象,并且某些功能在 sys
中的行为与其他地方不同。
我有这个 oracle 数据库实例
C:\> set ORACLE_SID=orcl;
C:\> sqlplus / as sysdba
当我创建 table 并在其中添加几行时
SQL> SELECT table_name
FROM user_tables
ORDER BY table_name;
SQL> INSERT ALL
INTO customers (customer_id , customer_name, city ) VALUES (1, 'Aman', 'Ranchi')
INTO customers (customer_id , customer_name, city ) VALUES (2, 'Akib', 'Purulia')
SELECT * FROM dual;
SQL> UPDATE customers
SET customer_name = 'Aashi'
WHERE customer_id = 1;
现在当我登录时out/quitting
SQL > Ctrl^C
然后再次登录,这就是我得到的 no rows selected
为什么我的更改没有受到影响?
您似乎忽略了 commit
您的更改。当您强行终止 SQL*Plus
而不是正常注销时,Oracle 回滚了您的更改。
另外,如果您要在数据库中创建对象,请不要以 sys
身份登录或在 sys
模式(或 system
表空间)中创建它们).创建一个将拥有您的对象的新用户,为用户对象创建一个表空间供该用户使用,然后以该用户身份登录以创建对象。不支持在 sys
架构中创建对象,并且某些功能在 sys
中的行为与其他地方不同。