Вставка строки SQL в таблицу + ключи в таблицу ссылок в одном выражении (отношение «многие ко многим») - PullRequest
0 голосов
/ 04 ноября 2010

Эй, я привык к ORM, поэтому у меня огромное отсутствие опыта работы с SQL.Я хочу знать, каков наилучший способ вставить строку в таблицу, которая находится во взаимосвязи «многие ко многим» с другой таблицей, и в рамках одного оператора также вставить строку из двух внешних ключей в конкретную таблицу ссылок для сохраненияцелостность данных.

Если кто-нибудь использует Spring jdbcTemplate, я также хотел бы знать, есть ли у него поддержка для этой задачи.Заранее спасибо

1 Ответ

1 голос
/ 04 ноября 2010

Обычно для этого используются хранимые процедуры, например что-то вроде

CREATE PROC MyInsertM2M(@fieldname1 int, @fieldname2 varchar(20), @Key1 int, @Key2 int etc)
AS
BEGIN

INSERT INTO MyMainTable(fieldname1, fieldname2...)
VALUES(@fieldname1, @fieldname2...)

INSERT INTO MyResolverTable(KeyField1, Keyfield2)
VALUES (@Key1, Key2)

END

(при условии, что сервер sql)

Затем Google BEGIN TRAN, COMMIT TRAN и ROLLBACK.

...