我在 sqlplus 中创建的表没有出现在 Navicat lite 中

the tables i have created in sqlplus not appearing in Navicat lite

伙计们,我正在使用 oracle 11g,我对它还很陌生。

问题是当我尝试创建一个 table 并在 sqlplus 终端中插入一个值时,它没有在 Navicat lite(图形表示软件)中显示。

在这里,让我通过图片让您更清楚地了解这一点。

这是在 SQLPlus 终端上打印的行

但看看 Navicat 中的行

这里的 table 名称是 TIME。

谁能给我解释一下这是什么问题?

看起来你没有

commit;

in SQL*插入行后加上。除非你这样做,否则这些值只对你可见,而不是其他会话(这是 Navicat 看到的)。所以 - 提交。


从字母大小写和双引号开始:

这就是你应该做的 - 不要使用双引号,引用 tables 任何你想要的方式:

SQL> create table test (id number);

Table created.

SQL> insert into test (id) values (1);

1 row created.

SQL> select * from test;

        ID
----------
         1

SQL> select * from TEST;

        ID
----------
         1

SQL> select * from tEsT;

        ID
----------
         1

SQL> drop table test;

Table dropped.

如果您使用双引号,则必须以与创建它完全相同的方式引用 table:

SQL> create table "test" (id number);

Table created.

SQL> insert into test (id) values (1);
insert into test (id) values (1)
            *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> insert into TEST (id) values (1);
insert into TEST (id) values (1)
            *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> insert into "TEST" (id) values (1);
insert into "TEST" (id) values (1)
            *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> insert into "test" (id) values (1);

1 row created.

SQL>