Ошибка оператора SQL в Oracle SQL Developer - PullRequest
0 голосов
/ 25 января 2012

Когда я пытаюсь выполнить приведенную ниже SQL-формулировку в Oracle SQL Developer:

CREATE TABLE Nrom1Tab ( Sig TEXT NOT NULL PRIMARY KEY, 
   DocSubject TEXT,  
   DocClassification TEXT,  
   DepName VARCHAR, 
   OrgName TEXT,  
   FromInf  TEXT,   
   ToInf TEXT,    
   DateInf TEXT, 
   NoteInf TEXT );

Это показывает эту ошибку:

enter image description here

Ответы [ 4 ]

5 голосов
/ 25 января 2012

Я не уверен, что сообщение об ошибке, однако

  1. TEXT не является допустимым типом данных в Oracle.
  2. VARCHAR является допустимым типом данных, но вам нужно будет указать, что длина (т. Е. VARCHAR(10)) позволит хранить до 10 байт (при условии, что значение по умолчанию NLS_LENGTH_SEMANTICS равно BYTE). Как правило, предпочтительнее использовать тип данных VARCHAR2, а не VARCHAR.
2 голосов
/ 25 января 2012

Я считаю, что ошибка с жалобой на отсутствие левой круглой скобки вызывает недовольство тем, что VARCHAR не имеет определенной длины.Столбец 113 с ошибками, в котором левая скобка должна быть , 114-й символ в этой строке.

Джастин также правильно указывает, что TEXT не является допустимым типом данных.Хотя я не думаю, что это является причиной ошибки, которую вы видите, очень скоро это будет ошибка:)

1 голос
/ 25 января 2012
CREATE TABLE Nrom1Tab 
( 
    Sig TEXT PRIMARY KEY, DocSubject TEXT,  DocClassification TEXT,  
    DepName VARCHAR(100), -- Missing LENGTH
    OrgName TEXT,  FromInf  TEXT,   ToInf TEXT,   DateInf TEXT, NoteInf TEXT );
1 голос
/ 25 января 2012

Я считаю, что вы должны дать VARCHAR такую ​​сумму, как VARCHAR (50).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...