我正在尝试将一个动态值插入到一个过程中,每次运行它时都会出现此错误。
"详细信息":" ORA-02291:违反了完整性约束(VIEW.AA_DEFAULT_APP_LIST_FK_AA_APP) - 未找到父密钥
这是我的程序。
router.put('/update-applications/', jsonParser, function (req, res) {
var data = req.body;
logger.info(pool._logStats());
logger.info("Begin: " + (new Date().toString()));
pool.getConnection(function (err, connection) {
logger.info("Begin Connection: " + (new Date().toString()));
if (err) {
logger.error(err.message);
return;
}
var bindvars = {
appId: '\'' + data.appId + '\'',
error: {dir: oracledb.BIND_OUT, type: oracledb.STRING, maxSize: 4000}
};
logger.info("Bindvars Set: " + (new Date().toString()));
logger.info('***********************************');
logger.info('Add Application - PUT');
logger.info('App ID: ', bindvars.appId);
logger.info('***********************************');
logger.info("Begin execute: " + (new Date().toString()));
connection.execute(
"BEGIN local.pkg_app.p_ins_app_id(:appId, :error); END;",
bindvars,
function (err, result) {
logger.info(JSON.parse(result.outBinds.error));
logger.info("End execute: " + (new Date().toString()));
if (err) {
logger.error(err.message);
doRelease(connection);
return;
}
logger.info("Send JSON: " + (new Date().toString()));
res.json(JSON.parse(result.outBinds.error));
logger.info("JSON Sent: " + (new Date().toString()));
doRelease(connection);
});
});
});
我在SQL Developer中尝试了这个代码,它对我来说很好..
declare
v_app_id varchar2(10) := 'A123456';
o_error VARCHAR2(100) := 'None';
Begin
dbms_output.put_line('START');
local.PKG_APP.p_ins_app_id(v_app_id,o_error );
dbms_output.put_line('END');
dbms_output.put_line(o_error);
end;
请帮忙。
答案 0 :(得分:0)
通过删除引号来实现它。