ORA-00984: 列不允许在带有输入变量的过程中出现
ORA-00984: column not allowd here on procedure with input variables
我在向 sql 语句插入输入时似乎遇到了 ORA-00984 错误
PLSQL代码:
CREATE OR REPLACE PROCEDURE do_insättning (pnr_in in insättning.pnr%type,
knr_in in insättning.knr%type,
belopp_in in insättning.belopp%type,
datum_in in insättning.datum%type)
IS
BEGIN
INSERT INTO insättning
VALUES (radnr_seq,pnr_in,knr_in,belopp_in,datum_in);
END;
table的设计:
还有radnr_seq:
CREATE SEQUENCE radnr_seq START WITH 1 INCREMENT BY 1;
我尝试检查的是 sql statemtn 只插入一列,如下所示:
INSERT INTO insättning (radnr) values (radnr_seq);
以及检查无效值但没有结果。
您需要为序列调用 nextval :
CREATE OR REPLACE PROCEDURE do_insättning (pnr_in in insättning.pnr%type,
knr_in in insättning.knr%type,
belopp_in in insättning.belopp%type,
datum_in in insättning.datum%type)
IS
BEGIN
INSERT INTO insättning
VALUES (radnr_seq.NEXTVAL,pnr_in,knr_in,belopp_in,datum_in);
END;
您需要插入序号nextval radnr_seq.nextval
.
我在向 sql 语句插入输入时似乎遇到了 ORA-00984 错误
PLSQL代码:
CREATE OR REPLACE PROCEDURE do_insättning (pnr_in in insättning.pnr%type,
knr_in in insättning.knr%type,
belopp_in in insättning.belopp%type,
datum_in in insättning.datum%type)
IS
BEGIN
INSERT INTO insättning
VALUES (radnr_seq,pnr_in,knr_in,belopp_in,datum_in);
END;
table的设计:
还有radnr_seq:
CREATE SEQUENCE radnr_seq START WITH 1 INCREMENT BY 1;
我尝试检查的是 sql statemtn 只插入一列,如下所示:
INSERT INTO insättning (radnr) values (radnr_seq);
以及检查无效值但没有结果。
您需要为序列调用 nextval :
CREATE OR REPLACE PROCEDURE do_insättning (pnr_in in insättning.pnr%type,
knr_in in insättning.knr%type,
belopp_in in insättning.belopp%type,
datum_in in insättning.datum%type)
IS
BEGIN
INSERT INTO insättning
VALUES (radnr_seq.NEXTVAL,pnr_in,knr_in,belopp_in,datum_in);
END;
您需要插入序号nextval radnr_seq.nextval
.