Oracle SQL Developer 中的 SQL 语句错误

发布于 2024-12-28 17:56:37 字数 384 浏览 1 评论 0原文

当我尝试在 Oracle SQL Developer 中执行下面的 SQL 语句时:

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 );

它显示此错误:

在此处输入图像描述

When I try to execute the SQL statment below in 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 );

It shows this error:

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

初与友歌 2025-01-04 17:56:37

我不确定错误消息是什么,但是

  1. TEXT 不是 Oracle 中的有效数据类型。
  2. VARCHAR 是有效的数据类型,但您需要指定长度(即 VARCHAR(10)),最多允许 10 个字节的存储(假设默认 NLS_LENGTH_SEMANTICSBYTE)。通常最好使用 VARCHAR2 数据类型,而不是 VARCHAR

I'm not sure what the error message is, however

  1. TEXT is not a valid data type in Oracle.
  2. VARCHAR is a valid data type but you would need to specify the length (i.e. VARCHAR(10)) would allow up to 10 bytes of storage (assuming a default NLS_LENGTH_SEMANTICS of BYTE). It would generally be preferred to use the VARCHAR2 data type rather than VARCHAR as well.
晒暮凉 2025-01-04 17:56:37

我相信抱怨缺少左括号的错误是因为 VARCHAR 没有定义长度而生气。该错误引用了第 113 列,该列是左括号应该的位置,即该行的第 114 个字符。

Justin 还正确指出 TEXT 不是有效的数据类型。虽然我不认为这会导致您看到的错误,但很快就会出现错误:)

I believe the error complaining about missing a left parenthesis, is angry that VARCHAR doesn't have a length defined. The error references column 113, which would be where the left parenthesis should be, the 114th character on that line.

Justin also correctly points out TEXT is not a valid datatype. While I don't think that is causing the error you're seeing, it'll be an error very soon :)

心意如水 2025-01-04 17:56:37

我相信你必须给 VARCHAR 一个像 VARCHAR(50) 这样的数量。

I believe you have to give VARCHAR an amount like VARCHAR(50).

友谊不毕业 2025-01-04 17:56:37
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 );
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 );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文