У меня есть таблица, которая содержит столбец XML
, в который вставляются различные данные XML, например, автомобили и люди. Я думаю о написании триггера, который бы после вставки вставлял данные из вставленных в разные машины таблиц в табличную машину, людей из таблицы людей.
1-й XML
<Cars>
<ID>1</ID>
<brand>Fiat></brand>
<carColor>Blue</carColor>
</Cars>
2-й XML
<People>
<ID>1</ID>
<Name>Luke</Name>
<LastName>Skywalker</LastName>
</People>
DDL
CREATE TABLE [dbo].[TableThatIsbeingTriggered]
(
[id] [INT] NULL,
[xmlData] [XML] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE TABLE [dbo].[car]
(
[ID] [INT] NULL,
[brand] [NCHAR](10) NULL,
[carColor] [NCHAR](10) NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[people]
(
[ID] [INT] NULL,
[Name] [NCHAR](10) NULL,
[LastName] [NCHAR](10) NULL
) ON [PRIMARY]
Возможно ли достичь? Кроме того, если эти XML-документы содержат узлы, называемые статусами, например «удалить», может ли триггер вести себя так, как если бы он удалял данные, уже существующие в этой целевой таблице, в зависимости от узла внутри XML?