sql - 如何修复 ORA-00907:使用指定大小的 int 或整数时缺少右括号
问题描述
我尝试使用整数和 int 大小为 50,但出现错误,但是当我尝试创建没有任何指定大小的同一个表时,我能够创建表
SQL> create table employees
2 (employee_number integer(50) not null primary key,
3 last_name char(50) not null,
4 first_name char(50) not null,
5 Salary integer(20),
6 Dept_id integer);
(employee_number integer(50) not null primary key,
*
ERROR at line 2:
ORA-00907: missing right parenthesis
SQL> create table employees
2 (employee_number int(50) not null primary key,
3 last_name char(50) not null,
4 first_name char(50) not null,
5 Salary int(20),
6 Dept_id int);
(employee_number int(50) not null primary key,
*
ERROR at line 2:
ORA-00907: missing right parenthesis
解决方案
如果您查看文档,ANSIint
或integer
数据类型实际上映射到 Oracle 数据类型NUMBER(38)
。
所以你不能给它添加大小参数。
推荐阅读
- kubernetes - Vault 服务帐户是否应该使用默认服务帐户 API 令牌向 Kubernetes 进行身份验证?
- laravel - 多个 where 条件在 Laravel eloquent 上不起作用
- java - 如何从多个 Cardview 中选择一个 Cardview
- javascript - 使用 jQuery 类属性的按键操作查询
- bitbucket - 使用 Azure-cli 命令部署到 Azure VM 的 Bitbucket 管道无法访问脚本文件
- reactjs - 反应 - 危险的SetInnerHTML
- 和
- 不能正常工作
- javascript - 使用选择过滤呈现的元素
- php - 如何在自定义注册表单中添加字段,对其进行验证并保存到数据库?
- c++ - 为什么 NeoVim 会在 C++ 中抛出这么多错误?
- python - 检查csv中的单元格是否只包含一个值