Я мало работал с XML в SQL, поэтому постараюсь задать вопрос как можно лучше.
Скажем, я получил некоторый структурированный XML в SQL для вставки.
Структура может быть:
<Team>
<Player>
<Name>Player1</Name>
<Games>
<Game>
<Date>9/7/2009</Date>
<MinutesPlayed>90</MinutesPlayed>
</Game>
</Games>
</Player>
<Player>
<Name>Player2</Name>
<Games>
<Game>
<Date>9/7/2008</Date>
<MinutesPlayed>87</MinutesPlayed>
</Game>
</Games>
</Player>
</Team>
Я могу вставить запись -Team- и получить удостоверение личности, поскольку в этом случае у меня есть только 1 запись, и доступ к SCOPE_IDENTITY () будет соответствовать удостоверению для этой записи, и это удостоверение я буду использовать для вставки проигрывателя. узлы.
В игровой таблице у меня есть поле PlayerID. Как я могу получить удостоверение личности каждого вставленного игрока, а затем использовать это удостоверение личности для вставки записей об игре?
Поскольку выполнение SELECT, например SELECT FROM @ ReceivedXML.nodes ('Player'), вернет несколько значений, и все узлы Player будут вставлены в пакет.
Может кто-нибудь указать мне какие-либо руководства о том, как это сделать, или, может быть, поделиться, как вы решили эту проблему? Спасибо, очень признателен.
Редактировать - возможно, я не объяснил себя правильно.
У команды есть поле TeamID. Игроки имеют поле PlayerID, а также поле TeamID. Игры имеют поле GameID и PlayerID.
Из XML, как бы я вставил команду, получив новый идентификатор TeamID, затем вставил Player one в таблицу PLayers, получив вновь созданный идентификатор PlayerID, а затем вставил запись игры, используя ранее полученный PLayerID.
После того, как я закончу с Player1, я сделаю то же самое для Player2. Вставить запись игрока, получить идентификатор PlayerID <вставить игру и т.д. </p>