2016-04-14 73 views
1

, SQL hatası: ORA-00904: geçersiz tanımlayıcı ben bu sorguyu kullanarak veritabanına bir tablo (müşteri) oluşturmak çalışıyorum 3

CREATE TABLE customers(
    "customer_id" VARCHAR2(20), 
    f_name VARCHAR2(30), 
    CONSTRAINT f_name_not_null NOT NULL, 
    l_name VARCHAR2(30), 
CONSTRAINT l_name_not_null NOT NULL, 
    mobile_no VARCHAR2(30), 
    CONSTRAINT mobile_no_not_null NOT NULL, 
    address VARCHAR2(30), 
    CONSTRAINT address_not_null NOT NULL, 
    CONSTRAINT customer_pk PRIMARY KEY(customer_id), 
    CONSTRAINT mobile_no_address_unique UNIQUE(mobile_no,address)); 

i almak

geri aşağıdadır:

Error report - SQL Error: ORA-00904: : invalid identifier 00904. 00000 - "%s: invalid identifier"

+6

' "customer_id"' ardından 'ayrıntılar için kılavuza https://docs.oracle bakın customer_id' farklı isimdir. com/veritabanı/121/SQLRF/sql_element s008.htm # SQLRF00223 sadece tüm bu korkmuş çifte teklifleri kaldırın –

cevap

1
(@a_horse_with_no_name tarafından yorumunda belirtildiği gibi)

bu ifadeye

ilk iki sorunlar

alıntı sütunun tutarsız kullanım Orada vardır

ikinci sorun sütun sınırlama sütunu tanımından virgülle birbirinden ayrılamaz gerektiğidir

yorumlardaki değişiklikler ile doğru deyimi hata sorunların üzerine ikinci sorunu görüyoruz

CREATE TABLE customers(
    /*"*/customer_id/*"*/ VARCHAR2(20), 
    f_name VARCHAR2(30) /*,*/ 
    CONSTRAINT f_name_not_null NOT NULL, 
    l_name VARCHAR2(30)/*,*/ 
CONSTRAINT l_name_not_null NOT NULL, 
    mobile_no VARCHAR2(30)/*,*/ 
    CONSTRAINT mobile_no_not_null NOT NULL, 
    address VARCHAR2(30) /*,*/ 
    CONSTRAINT address_not_null NOT NULL, 
    CONSTRAINT customer_pk PRIMARY KEY(customer_id), 
    CONSTRAINT mobile_no_address_unique UNIQUE(mobile_no,address)); 

İlginç olduğu bunu çözdükten sonra daha spesifik olan ilk sorun için hatayı alırsınız:

ORA-00904: "CUSTOMER_ID": invalid identifier