抱歉,我是SQLPLUS的新手!

所以在这里,我有一张桌子叫iowe,我有四个记录预处理到其中。这就是外观:


NAME           AMOUNT Serial Number
---------- ---------- -------------
Praveen         20500             1
Roshan           5000             2
Rohit            5000             3
Shashi           8000             4

在我输入这四个记录之前,我不知道SQL中的序列函数。因此,我尝试将其暗示到这张桌子中。我想输入一个新记录,说""XXX “名称,500 在数量上,使用序列命令,我想要”Serial Number“自动增加。

所以我创建了一个称为的序列iowesqn ,看起来像这样的时候select * from user_sequences


SEQUENCE_NAME                   MIN_VALUE  MAX_VALUE INCREMENT_BY C O CACHE_SIZE LAST_NUMBER
------------------------------ ---------- ---------- ------------ - - ---------- -----------
SQN                                     1          5            2 N N          0           3
IOWESQN                                 1 1.0000E+27            1 N N          0           7

Please disregard the sequence SQN

插入序列IOWESQN ,我使用了此命令:“insert into iowe(name, amount, “Serial Number”) values(‘XXX’, 500, iowesqn.nextval)”

一切都很好。每个条目时列序列号将罚款罚款1。但是,当我尝试**“insert into iowe (’&name’, ‘&amount’, “Serial Number”) value(iowesqn.nextval));”** ,它要求我提供名称和数量,但在当时(输入金额之后),它会引发错误。它读取:“ORA-00928: missing SELECT keyword”

这是IT输入金额后出现的全部内容:

old 1: insert into iowe (’&name’, ‘&amount’, “Serial Number”) value(iowesqn.nextval)) new 1: insert into iowe (‘ret’, ’ert’, “Serial Number”) value(iowesqn.nextval)) insert into iowe (‘ret’, ’ert’, “Serial Number”) value(iowesqn.nextval)) * ERROR at line 1: ORA-00928: missing SELECT keyword

请告诉我我做错了什么(或者(极不可能))。

提前致谢。

答案

你的说法是错误的。

insert into iowe(name, amount, “Serial Number”) values(‘XXX’, 500, iowesqn.nextval)

您可能打算用变量而不是字段替换您的值?

插入 iowe(名称, 金额, “序列号”) 值(’

来自: stackoverflow.com