我正在使用函数对DB进行插入,因为我需要检索序列生成的密钥并且我得到了一个错误形式的数据库
SEVERE:null java.sql.SQLException:ORA-06550:第1行第13列: PLS-00905:对象SYSTEM.ADDPROJECT无效ORA-06550:第1行, 第7列:PL / SQL:忽略语句
Java代码:
public int addProjectDB(String name, String description) throws SQLException {
openConnection();
callStmt = connection.prepareCall("{ ? = call addProject(?,?) }");
callStmt.registerOutParameter(1, OracleTypes.INTEGER);
callStmt.setString(2, name);
callStmt.setString(3, description);
callStmt.execute();
ResultSet rSet = (ResultSet) callStmt.getObject(1);
rSet.next();
int id = (Integer) rSet.getInt(1);
closeAll();
return id;
}
//添加2个字符串并获取第一列中生成的密钥
PL / SQL - 编译和工作
CREATE OR REPLACE FUNCTION addProject(NAME_PROJECT VARCHAR, DESCRIPTION VARCHAR) return INTEGER
IS seq INTEGER;
BEGIN
seq := seq_project.NEXTVAL;
INSERT INTO Project VALUES(seq, NAME_PROJECT, DESCRIPTION);
return seq;
END;
感谢你们给予的任何帮助!