很抱歉将其添加到网站上的“缺少右括号”池中,但我倾注了这些,这是仅有的两个与我的代码相似的,虽然我确实认为它们帮助我进入了正确的方向。ORA-00907 在尝试创建 CHECK 约束和Oracle 时:创建包含三个 Foregin 键的复合键
我也不是数据库人员,但我别无选择,只能照顾好这个,所以任何帮助都将不胜感激。我认为我的问题似乎与“约束”所在的位置或最有可能在何处或如何添加我们的表空间引用有关。添加表空间引用是我在应用公司提供的原始脚本中唯一更改的内容。
这是公司提供的原始脚本中的一个项目(为这篇文章编辑了)(所有其他的都是相似的,并且在同一个地方有相同的错误):
CREATE TABLE my_sys_cache_entry
(
myPVStream BLOB,
myEntrySource VARCHAR2 (32)
, CONSTRAINT my_sys_cache_entry_PK PRIMARY KEY (myInsKey)
)
LOB(myPVStream) STORE AS (DISABLE STORAGE IN ROW);
这是我对它所做的最后一次更改,试图让它与我们添加的表空间引用一起工作:
CREATE TABLE my_sys_cache_entry
(
myPVStream BLOB,
myEntrySource VARCHAR2 (32),CONSTRAINT my_sys_cache_entry_PK PRIMARY KEY (myInsKey) TABLESPACE "MY_DYN_IDX_01"
) TABLESPACE "MY_DYN_DAT_01"
LOB(myPVStream) STORE AS (TABLESPACE "MY_DYN_LOB_01" DISABLE STORAGE IN ROW);
这是我得到的错误:
myEntrySource VARCHAR2 (32),CONSTRAINT my_sys_cache_entry_PK PRIMARY KEY (myInsKey) TABLESPACE "MY_DYN_IDX_01"
*
ERROR at line 23:
ORA-00907: missing right parenthesis
我已经尝试了几种方法来让它工作。最初 CONSTRAINT 在它现在所在的位置下的新行上,最后一个 ) 位于其下方的一行上(参见原始示例)。我们仍然得到错误。我将 ) 放在第一个 TABLESPACE 之后的同一行,但仍然出现错误。我将所有内容从 CONSTRAINT 向前移动到最后一行,但仍然出现错误。我不记得我是否尝试使用 , 在 CONSTRAINT 之前删除。有什么想法吗?
如果没有表空间引用,我无法对其进行测试。