Table 表空间显示为 X 但似乎是 'Users'

Table tablespace shown as X but appears to be 'Users'

我正在使用 SQL*Plus 创建具有以下 sql 的 table:

CREATE TABLE SCHEMA_OWNER.TEST_TABLE (
  ID NUMBER(19,0) NOT NULL,
  TEST_STRING VARCHAR2(255 CHAR),
  PRIMARY KEY (ID)
); 

当我尝试将任何用户插入 table 时,我看到以下错误:

INSERT INTO TEST_TABLE (ID, TEST_STRING) values (1, 'Test')
ORA-01950: no privileges on tablespace 'USERS'

这意味着 table 已在用户 table 空间中创建,但是当我查看 USER_TABLES table 时,我看到 tablespace 与所有其他 tables 相同,而不是 'Users':

SELECT table_name, tablespace_name from USER_TABLES;
TABLE_NAME        TABLESPACE_NAME
----------------  ---------------
TABLE1            DATA_TABLESPACE
TEST_TABLE        DATA_TABLESPACE

当我使用相同的 SQL 在 SQL 开发人员中创建 table 时,我在插入数据时没有任何错误。

1) 当 table 不在用户 table 空间中时,为什么我会收到此错误消息?

2) 为什么我只在 运行 来自 SQL*Plus 的 sql 脚本时才得到它?

感谢 Aleksej 建议这可能是索引的问题。问题是当我在 table 上创建索引时,我不是为架构所有者创建它,这意味着它是在不同的 table 空间中创建的。

所以

CREATE INDEX TEST_TABLE_IDX ON SCHEMA_OWNER.TEST_TABLE(TEST_STRING);

我需要做

CREATE INDEX SCHEMA_OWNER.TEST_TABLE_IDX ON SCHEMA_OWNER.TEST_TABLE(TEST_STRING);