【问题标题】:invalid identifier problem in oracle livesqloracle livesql中的无效标识符问题
【发布时间】:2020-12-15 17:15:09
【问题描述】:

我有一个非常简单的代码,只是为了查看我插入到列中的值是否有效,但我遇到了无效标识符问题

create table person(
 ID_NO varchar(15),
 datelend DATE,
 constraint person_name_PK primary key(ID_NO));

 insert into person(ID_NO,datelend) values('sahil','2018-01-25');

 select* from person;

它表明“ID_NO”是一个无效的标识符,并且该名称已被现有对象使用。

【问题讨论】:

  • 您可能已经在您的 LiveSql 会话中创建了一个person 表,点击重置按钮以摆脱所有内容并重新开始。请记住 '2018-01-25' 不是日期,您应该始终使用明确的日期格式 to_date('2018-08-25','yyyy-mm-dd') 将起作用
  • 嗨,为什么“ID_NO”是无效标识符?
  • 大概您已经创建的名为person 的表不包含名为id_no 的列。您可以使用desc person 进行检查

标签: oracle ddl


【解决方案1】:

您的代码有效(尽管您可能希望在 INSERT 语句中插入 DATE 文字而不是字符串文字):

create table person(
  ID_NO varchar(15),
  datelend DATE,
  constraint person_name_PK primary key(ID_NO)
);

insert into person(ID_NO,datelend) values ('sahil', DATE '2018-01-25');

select * from person;

如果它在 LiveSQL 中不起作用,那么您可能已经创建了没有该列的 person 表。您可以单击 SQL 工作表上的“操作”按钮,然后单击“查看会话”以查看您已经发出了哪些命令,如果需要,您可以单击“重置会话”清除所有内容,然后您可以运行您的编写脚本并在没有任何现有对象的情况下构建表以创建冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多