我收到此错误
SQL错误:ORA-00928:缺少SELECT关键字
00928. 00000-“缺少SELECT关键字”`
当我尝试这样插入
create table certf
(
certificate_id integer primary key,
certificate_name varchar(100) not null,
certificate_content varchar(300) not null
);
insert into certf (&certificate_id, &certificate_name, &certificate_content);
答案 0 :(得分:4)
您实际上错过了values
:
insert into certf (certificate_id, certificate_name, certificate_content)
values (&certificate_id, &certificate_name, &certificate_content);
请注意,我还将列列表添加到了insert
中。这是最佳做法。
答案 1 :(得分:3)
如果这些值是您要提供的替代值,那么您就缺少了values
关键字:
insert into certf values (&certificate_id,&certificate_name,&certificate_content);
但是您需要将字符串值括在引号中
insert into certf values (&certificate_id,'&certificate_name','&certificate_content');
,您还应该提供列名:
insert into certf (certificate_id,certificate_name,certificate_content)
values (&certificate_id,'&certificate_name','&certificate_content');
使用您当前的代码,解析器将看到标识符的第一个列表-可能,但在这种情况下实际上是无效的,即列名;因为它还没有看到values
关键字。就像这样:
insert into certf (42,some_name,some_content);
这样做,并且仍然看不到values
关键字或值列表时,可以期望它是一个insert ... select
构造。您可以这样做:
insert into certf (certificate_id,certificate_name,certificate_content)
select &certificate_id,'&certificate_name','&certificate_content' from dual;
但是您没有这样做。因此它也看不到select
,并且引发您看到的错误。