Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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架构错误_Sql_Oracle - Fatal编程技术网

创建表时出现Sql架构错误

创建表时出现Sql架构错误,sql,oracle,Sql,Oracle,它会产生一个错误,我无法理解脚本有什么问题。每个建议都会有帮助 CREATE TABLE ar_abonent ( ar_nr_klienti_primary_key int, emri varchar(25), mbiemri varchar(25) ); create table ar_celular ( NR_CEL INT (12), ar_nr_klienti FOREIGN Key REFERENCES ar_abonent (ar_nr_k

它会产生一个错误,我无法理解脚本有什么问题。每个建议都会有帮助

CREATE TABLE ar_abonent
(
    ar_nr_klienti_primary_key int,
    emri varchar(25),
    mbiemri varchar(25)
);

create table ar_celular
(
    NR_CEL INT (12),
    ar_nr_klienti FOREIGN Key REFERENCES ar_abonent (ar_nr_klienti),int,
    identifikues boolean,
    data_aktivizimit date,
    marka varchar(25)
    constraint chk_celular check (NR_CEL IN ('35566%','35567%','35568%','35569%' AND IDENTIFIKUES='TRUE')
);
CREATE TABLE ar\u abonent
(

ar_nr_klienti int NOT NULL主键,--我尝试使用SQL FIDLE(设置为Oracle 11G R2)对其进行更正,因为我没有任何Oracle服务器。这就是它运行时不会出现问题的方式:

CREATE TABLE ar_abonent
(
    ar_nr_klienti int NOT NULL PRIMARY KEY ,
    emri VARCHAR2(25),
    mbiemri VARCHAR2(25)
);

CREATE TABLE ar_celular
(
  NR_CEL int,
  ar_nr_klienti int,
  identifikues number(1),
  data_aktivizimit date,
  marka VARCHAR2(25),
  CONSTRAINT fk_column FOREIGN KEY (ar_nr_klienti) REFERENCES ar_abonent  (ar_nr_klienti),
  CONSTRAINT chk_celular CHECK (NR_CEL IN ('35566%','35567%','35568%','35569%') AND IDENTIFIKUES= 1)
);


结果表明Oracle没有布尔类型(在表级别,尽管它存在于PL/SQL中),VARCHAR2可能比VARCHAR更可取(除非考虑空值).

第一个表创建成功,我对第二个表有问题。谢谢,它会产生什么错误?1.发布实际错误。2.为SQLar\u nr\u klienti外键引用ar\u abonent(ar\u nr\u klienti)的版本添加一个标记,int在命令-create table ar\u celular中的第8行开始的interor之前删除逗号(NR_CEL INT(12)、ar_NR_klienti外键引用ar_abonent(ar_NR_klienti)、INT、IdentificationKues布尔值、data_aktivizimit date、marka varchar(25)、约束条件检查(NR_CEL IN('35566%,'35567%,'35568%,'35569%和IdentificationKues='TRUE'))命令行错误:10列:12错误报告-SQL错误:ORA-00907:缺少右括号00907.00000-“缺少右括号”*原因:*行动:我已经把剧本改成了这个……还是一样。不过非常感谢,appriciated@M.Ali原来Oracle语法与我以前使用的MS SQL有点不同。我在下面发布了正确的版本。但我需要“Identikikues”作为标志。作为真/假thing@user3430929很乐意帮忙。
CREATE TABLE ar_abonent
(
    ar_nr_klienti int NOT NULL PRIMARY KEY ,
    emri VARCHAR2(25),
    mbiemri VARCHAR2(25)
);

CREATE TABLE ar_celular
(
  NR_CEL int,
  ar_nr_klienti int,
  identifikues number(1),
  data_aktivizimit date,
  marka VARCHAR2(25),
  CONSTRAINT fk_column FOREIGN KEY (ar_nr_klienti) REFERENCES ar_abonent  (ar_nr_klienti),
  CONSTRAINT chk_celular CHECK (NR_CEL IN ('35566%','35567%','35568%','35569%') AND IDENTIFIKUES= 1)
);