Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从数据库脚本中删除表空间引用_Sql_Database_Oracle - Fatal编程技术网

Sql 从数据库脚本中删除表空间引用

Sql 从数据库脚本中删除表空间引用,sql,database,oracle,Sql,Database,Oracle,我对SQL比较陌生,只在需要的时候才接触它。我对此做了一些研究,但成效有限。我需要从代码中删除表空间引用。数据库中已存在默认表空间的设置。顺便说一下,这是一个Oracle数据库 如果我有以下代码行: EXECUTE IMMEDIATE 'CREATE TABLE RAND_CATEGORY( -------- insert random vars --------------- CONSTRAINT RAND_CATEGORY PRIMARY KEY(cat_id,ver_num) USING

我对SQL比较陌生,只在需要的时候才接触它。我对此做了一些研究,但成效有限。我需要从代码中删除表空间引用。数据库中已存在默认表空间的设置。顺便说一下,这是一个Oracle数据库

如果我有以下代码行:

EXECUTE IMMEDIATE 'CREATE TABLE RAND_CATEGORY(
-------- insert random vars ---------------
CONSTRAINT RAND_CATEGORY PRIMARY KEY(cat_id,ver_num)
USING INDEX TABLESPACE VG_NDX ENABLE
)TABLESPACE VG_DATA';
以下是我目前掌握的情况:

EXECUTE IMMEDIATE 'CREATE TABLE RAND_CATEGORY(
-------- insert random vars ---------------
CONSTRAINT RAND_CATEGORY PRIMARY KEY(cat_id,ver_num)
USING INDEX TABLESPACE VG_NDX ENABLE
)';
我的问题是,我是否应该删除整行:

USING INDEX TABLESPACE VG_NDX ENABLE
或者我应该删除“表空间VG_NDX”并将其保留为:

USING INDEX ENABLE

请记住,我是新手,我只是需要帮助。在过去的两周里,我一直在学习SQL,表空间对我来说有点古怪。提前谢谢!:D

使用索引的
子句允许对与约束相关的索引创建进行更多控制,请参阅。
在您的例子中,
表空间
存储子句

如果要让Oracle使用默认表空间,可以完全删除
USING INDEX
子句,而不使用
ENABLE


尽管在
CREATE表中,
主键约束关联的索引是自动启用的(除非我遗漏了什么),所以我看不到保持
ENABLE
的任何意义,
USING index
子句允许对约束关联的索引创建有更多的控制,请参阅。 在您的例子中,
表空间
存储子句

如果要让Oracle使用默认表空间,可以完全删除
USING INDEX
子句,而不使用
ENABLE

尽管在
CREATE表中,主键约束关联索引会自动启用(除非我遗漏了什么),所以我看不到保持
启用的任何意义

它很好地概述了什么是表空间,应该解决这个问题。

阅读本文档:


它很好地概述了什么是表空间,应该可以解决这个问题。

谢谢!最后,我问我们的DBA,他说要把所有东西都拿出来,但要离开。我不确定原因。它可能在默认情况下已经启用了,但也许他们只是想让程序员更容易理解正在发生的事情。我真的不确定这个理由。因此,我将使用索引表空间VG_NDX ENABLE'更改为启用
启用
不是使用索引
的一部分。
启用
使用索引
都是
约束状态的一部分,如所示。查看铁路图中的
constraint\u state
可以看到约束的
ENABLE
选项是独立的<代码>使用索引子句
允许自定义约束创建或使用的索引@minhaz1:你不应该接受不正确的答案~@ShannonSeverance:谢谢你的更正,尽管我仍然不明白保持
启用
的意义。我在文档中找不到它,但测试清楚地表明,在
createtable
语句中声明
主键约束在默认情况下可以启用它。要么是数据库设置,要么是固定的,无论如何,为什么在这种情况下指定
ENABLE
?我编辑了响应以符合实际情况,现在应该是正确的。谢谢!最后,我问我们的DBA,他说要把所有东西都拿出来,但要离开。我不确定原因。它可能在默认情况下已经启用了,但也许他们只是想让程序员更容易理解正在发生的事情。我真的不确定这个理由。因此,我将使用索引表空间VG_NDX ENABLE'更改为启用
启用
不是使用索引
的一部分。
启用
使用索引
都是
约束状态的一部分,如所示。查看铁路图中的
constraint\u state
可以看到约束的
ENABLE
选项是独立的<代码>使用索引子句
允许自定义约束创建或使用的索引@minhaz1:你不应该接受不正确的答案~@ShannonSeverance:谢谢你的更正,尽管我仍然不明白保持
启用
的意义。我在文档中找不到它,但测试清楚地表明,在
createtable
语句中声明
主键约束在默认情况下可以启用它。要么是数据库设置,要么是固定的,无论如何,为什么在这种情况下指定
ENABLE
?我编辑了响应以符合实际情况,现在应该是正确的。