SQL Error: Tablespace does not exist
SQL Error: Tablespace does not exist
我是 运行 这个脚本 sql oracle 开发者:-
DEFINE TABLESPACE1 = "&TABLESPACE1";
CREATE TABLE "DBUSER"
(
"USER_ID" VARCHAR2(100 BYTE),
"USERNAME" VARCHAR2(100 BYTE),
"CREATED_BY" VARCHAR2(100 BYTE),
"CREATED_DATE" DATE
) TABLESPACE "&TABLESPACE1" ;
我收到这个错误:-
SQL Error: ORA-00959: tablespace '&TABLESPACE1' does not exist
00959. 00000 - "tablespace '%s' does not exist"
您确定您的 table space 名称是:“&TABLESPACE1”吗?
尝试测试 如果你的 table space 存在 与 :
select Tablespace_name from dba_tablespaces
where Tablespace_name = 'yourtablespacename';
注意 SQL Developer 中 运行 并非所有 SQL*Plus
命令都是必需的。另外,这取决于 SQL Developer 版本,最新版本有很多 SQL*Plus 命令支持。
我在 SQL 开发者版本 3.2.20.10
中测试
&
用于 替换变量 in SQL*Plus
。
例如,
在SQL*Plus
SQL> DEFINE TABLESPACE1 = &TABLESPACE1
Enter value for tablespace1: new_tablespace
SQL> SELECT '&TABLESPACE1' from dual;
old 1: SELECT '&TABLESPACE1' from dual
new 1: SELECT 'new_tablespace' from dual
'NEW_TABLESPAC
--------------
new_tablespace
SQL>
在SQL开发者
DEFINE TABLESPACE1 = &TABLESPACE1
<Enter the value when prompted> -- I entered "t"
old:DEFINE TABLESPACE1 = &TABLESPACE1
new:DEFINE TABLESPACE1 = t
SQL Error: ORA-00959: tablespace '&TABLESPACE1' does not exist
- 00000 - "tablespace '%s' does not exist"
您确定在 SQL 开发人员 中将其作为 脚本 执行吗?您可以按 F5 将其作为脚本执行。您是否将值替换为变量?
例如,
SQL> DEFINE TABLESPACE1 = "&TABLESPACE1"
Enter value for tablespace1: new_tablespace
SQL> CREATE TABLE "DBUSER"
2 (
3 "USER_ID" VARCHAR2(100 BYTE),
4 "USERNAME" VARCHAR2(100 BYTE),
5 "CREATED_BY" VARCHAR2(100 BYTE),
6 "CREATED_DATE" DATE
7 ) TABLESPACE "&TABLESPACE1" ;
old 7: ) TABLESPACE "&TABLESPACE1"
new 7: ) TABLESPACE "new_tablespace"
) TABLESPACE "new_tablespace"
*
ERROR at line 7:
ORA-00959: tablespace 'new_tablespace' does not exist
SQL>
在您的情况下,如果值被正确替换,并且 table 空间存在,您应该能够创建 table.
您似乎在 TABLESPACE1 替换变量中输入了值“&TABLESPACE1”。也许您关闭了替换扫描。尝试
SET SCAN ON
在你的陈述之前
我的解决方案:
DROP TABLE "DBUSER";
UNDEFINE TABLESPACE1
DEFINE TABLESPACE1 = 'USERS'
CREATE TABLE "DBUSER"
(
"USER_ID" VARCHAR2(100 BYTE),
"USERNAME" VARCHAR2(100 BYTE),
"CREATED_BY" VARCHAR2(100 BYTE),
"CREATED_DATE" DATE
) TABLESPACE "&TABLESPACE1." ;
/
SQL> DROP TABLE "DBUSER";
UNDEFINE TABLESPACE1
DEFINE TABLESPACE1 = 'USERS'
CREATE TABLE "DBUSER"
(
"USER_ID" VARCHAR2(100 BYTE),
"USERNAME" VARCHAR2(100 BYTE),
"CREATED_BY" VARCHAR2(100 BYTE),
"CREATED_DATE" DATE
) TABLESPACE "&TABLESPACE1." ;
/
Table dropped.
SQL> SQL> SQL> 2 3 4 5 6 7 alt 7: ) TABLESPACE "&TABLESPACE1."
neu 7: ) TABLESPACE "USERS"
Table created.
SQL>
我是 运行 这个脚本 sql oracle 开发者:-
DEFINE TABLESPACE1 = "&TABLESPACE1";
CREATE TABLE "DBUSER"
(
"USER_ID" VARCHAR2(100 BYTE),
"USERNAME" VARCHAR2(100 BYTE),
"CREATED_BY" VARCHAR2(100 BYTE),
"CREATED_DATE" DATE
) TABLESPACE "&TABLESPACE1" ;
我收到这个错误:-
SQL Error: ORA-00959: tablespace '&TABLESPACE1' does not exist
00959. 00000 - "tablespace '%s' does not exist"
您确定您的 table space 名称是:“&TABLESPACE1”吗?
尝试测试 如果你的 table space 存在 与 :
select Tablespace_name from dba_tablespaces
where Tablespace_name = 'yourtablespacename';
注意 SQL Developer 中 运行 并非所有 SQL*Plus
命令都是必需的。另外,这取决于 SQL Developer 版本,最新版本有很多 SQL*Plus 命令支持。
我在 SQL 开发者版本 3.2.20.10
中测试&
用于 替换变量 in SQL*Plus
。
例如,
在SQL*Plus
SQL> DEFINE TABLESPACE1 = &TABLESPACE1
Enter value for tablespace1: new_tablespace
SQL> SELECT '&TABLESPACE1' from dual;
old 1: SELECT '&TABLESPACE1' from dual
new 1: SELECT 'new_tablespace' from dual
'NEW_TABLESPAC
--------------
new_tablespace
SQL>
在SQL开发者
DEFINE TABLESPACE1 = &TABLESPACE1
<Enter the value when prompted> -- I entered "t"
old:DEFINE TABLESPACE1 = &TABLESPACE1
new:DEFINE TABLESPACE1 = t
SQL Error: ORA-00959: tablespace '&TABLESPACE1' does not exist
- 00000 - "tablespace '%s' does not exist"
您确定在 SQL 开发人员 中将其作为 脚本 执行吗?您可以按 F5 将其作为脚本执行。您是否将值替换为变量?
例如,
SQL> DEFINE TABLESPACE1 = "&TABLESPACE1"
Enter value for tablespace1: new_tablespace
SQL> CREATE TABLE "DBUSER"
2 (
3 "USER_ID" VARCHAR2(100 BYTE),
4 "USERNAME" VARCHAR2(100 BYTE),
5 "CREATED_BY" VARCHAR2(100 BYTE),
6 "CREATED_DATE" DATE
7 ) TABLESPACE "&TABLESPACE1" ;
old 7: ) TABLESPACE "&TABLESPACE1"
new 7: ) TABLESPACE "new_tablespace"
) TABLESPACE "new_tablespace"
*
ERROR at line 7:
ORA-00959: tablespace 'new_tablespace' does not exist
SQL>
在您的情况下,如果值被正确替换,并且 table 空间存在,您应该能够创建 table.
您似乎在 TABLESPACE1 替换变量中输入了值“&TABLESPACE1”。也许您关闭了替换扫描。尝试
SET SCAN ON
在你的陈述之前
我的解决方案:
DROP TABLE "DBUSER";
UNDEFINE TABLESPACE1
DEFINE TABLESPACE1 = 'USERS'
CREATE TABLE "DBUSER"
(
"USER_ID" VARCHAR2(100 BYTE),
"USERNAME" VARCHAR2(100 BYTE),
"CREATED_BY" VARCHAR2(100 BYTE),
"CREATED_DATE" DATE
) TABLESPACE "&TABLESPACE1." ;
/
SQL> DROP TABLE "DBUSER";
UNDEFINE TABLESPACE1
DEFINE TABLESPACE1 = 'USERS'
CREATE TABLE "DBUSER"
(
"USER_ID" VARCHAR2(100 BYTE),
"USERNAME" VARCHAR2(100 BYTE),
"CREATED_BY" VARCHAR2(100 BYTE),
"CREATED_DATE" DATE
) TABLESPACE "&TABLESPACE1." ;
/
Table dropped.
SQL> SQL> SQL> 2 3 4 5 6 7 alt 7: ) TABLESPACE "&TABLESPACE1."
neu 7: ) TABLESPACE "USERS"
Table created.
SQL>