Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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 Oracle、MySQL、SQLite标准_Mysql_Sql_Oracle_Sqlite - Fatal编程技术网

SQL Oracle、MySQL、SQLite标准

SQL Oracle、MySQL、SQLite标准,mysql,sql,oracle,sqlite,Mysql,Sql,Oracle,Sqlite,这让我很困惑。我已经编写了标准的sequel,它可以在MySQL和SQLite中工作,但在Oracle中表明我缺少了右括号。请解释一下 create table department( dept_name var char(20) not null, building var char(15) not null, budget numeric(12, 2), primary key(dept_name) ); varchar类型中不应包含空格: create

这让我很困惑。我已经编写了标准的sequel,它可以在MySQL和SQLite中工作,但在Oracle中表明我缺少了右括号。请解释一下

create table department(
   dept_name var char(20) not null, 
   building var char(15) not null, 
   budget numeric(12, 2),
   primary key(dept_name)
   );

varchar
类型中不应包含空格:

create table department(
   dept_name varchar(20) not null, -- Note: varchar, not var char
   building varchar(15) not null, -- same here
   budget numeric(12, 2),
   primary key(dept_name)
);

奇怪的我最初将varchar键入为varchar,但Oracle在它下面加了下划线,好像该类型的拼写有问题,但接受varchar。感谢您的帮助。
VARCHAR
VARCHAR2
类型目前是同义词,但oracle的未来版本可能会改变这一点(对于
VARCHAR2
而言,零长字符串与
NULL
相同,但当实现
VARCHAR
类型时,零长
VARCHAR
将与
NULL
不相同)。您可能希望使用
VARCHAR2
而不是
VARCHAR