Мне нужно вызвать хранимую процедуру при вызове триггера Insert Script. Идея заключается в использовании хранимой процедуры для вставки строк в 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 имеет выходной параметр, который возвращает новый идентификатор автомобиля. Есть ли способ получить этот выходной параметр?
Я ценю любую помощь, которую вы можете предоставить