调用插入脚本触发器时,我需要调用存储过程。这个想法是使用存储过程在 3 个表中插入行,包括原始表。
我有以下表格 - 汽车 - 制造商 - 型号
存储过程接收汽车的数据、制造商名称和型号名称。SP 在制造商和型号表中查找,如果没有找到,则插入一条新记录。
这是我的脚本触发代码:
function insert(item, user, request) {
var params = [item.name, item.year, item.maker_name, item.model];
var sql = "exec myCars.sp_insert_car ?, ?, ?, ?";
mssql.query(sql, params,
{
success: function(results) {
request.respond(statusCodes.OK,{
results: results,
count: 1
});
}
});
}
因为 sp_insert_car 在 cars 表中插入一行,所以再次调用触发器。奇怪的是,当插入新的制造商或模型时也会调用它。
有没有办法在第二次调用触发器时禁用?
此外,SP 有一个返回新汽车 ID 的输出参数。有没有办法得到这个输出参数?
感谢您提供的任何帮助