oracle - 使用 Vertabelo 中生成的 SQL 代码创建表时缺少右括号错误
问题描述
我想为我的学校项目创建一个数据库。一些表的创建没有错误,但是当我想创建一个更复杂的表时,我遇到了这个错误:
ORA-00907: 缺少右括号
代码如下(表和属性的名称是罗马尼亚语):
CREATE TABLE Curse (
id_cursa int NOT NULL,
id_tura int NULL,
moment_inceput_cursa timestamp NULL,
moment_sfarsit_cursa timestamp NULL,
adresa_initiala text NULL,
GPS_punct_start text NULL,
adresa_destinatie text NULL,
destinatie_GPS text NULL,
stare_cursa char NOT NULL DEFAULT 0,
modalitate_plata int NULL,
pret decimal NULL,
CONSTRAINT Curse_pk PRIMARY KEY (id_cursa)
);
解决方案
实际的错误是 DEFAULT 子句出现在 NOT NULL 子句之前。所以这是正确的语法:
stare_cursa char DEFAULT 0 NOT NULL
除此之外,您需要将text
数据类型更改为varchar2(1000)
您需要的任何长度。
推荐阅读
- java - 将列表作为结果返回到方法通道会引发 java.lang.illegalArgumentException?
- html - 不同的浏览器/设备如何处理字体粗细?
- json - 删除 mule 4 dataweave 转换中的反斜杠
- java - 你如何使用 Spring RestDocs 来记录 WebFlux 响应的字段?
- json - 如何在 swagger 字段中包含逗号 - 不是 csv
- django - 如何重用 Django 管理员搜索功能?
- ebay-api - 如何在 ebay 沙箱中创建列表?
- python - 创建新文件时如何编写标题,但仅在附加时省略它?
- python - 熊猫 date_range 方法
- angular - 如何使用星云对话框组件将数据传递给 Angular 组件?