我是编写SQL和使用Oracle的新手......所以如果这很明显我很抱歉,但我无法理解。它告诉我,我错过了一个正确的括号,但据我所知,他们都在那里。这似乎是VARBINARY行的一个问题,但我不知道为什么。
CREATE TABLE DATA_VALUE
(
DATA_ID VARCHAR2(40) NOT NULL,
POSITION INT NOT NULL,
VALUE VARCHAR2(50),
BINARY_VALUE VARBINARY(50),
DATA_TYPE VARCHAR2(20),
CONSTRAINT DATA_VALUE_PK PRIMARY KEY(DATA_ID, POSITION)
);
答案 0 :(得分:3)
VARBINARY
不是Oracle数据类型。快速搜索建议MySQL和SQL Server至少拥有它,但不包括Oracle。也许您需要解释您想要存储在该字段中的内容。我认为你最接近的可能是RAW
。
列出了有效的内置数据类型in the documentation:
RAW
和LONG RAW
数据类型存储不属于的数据 在Oracle数据库之间移动数据时显式转换 不同的系统。这些数据类型适用于二进制数据或 字节串。
This Microsoft article建议你也应该使用RAW
替代VARBINARY
,至少是你所谈论的规模。
CREATE TABLE DATA_VALUE
(
DATA_ID VARCHAR2(40) NOT NULL,
POSITION INT NOT NULL,
VALUE VARCHAR2(50),
BINARY_VALUE RAW(50),
DATA_TYPE VARCHAR2(20),
CONSTRAINT DATA_VALUE_PK PRIMARY KEY(DATA_ID, POSITION)
);
table DATA_VALUE created.