Я передаю XML-строку хранимой процедуре в SQL Server для вставки 10000 записей в таблицу. В этом случае я вызываю эту хранимую процедуру. Хотите проверить таблицу SQL Server с этой строкой xml, которую я передаю, если запись существует, я не хочу вставлять ее, если это новая запись, которую только одна запись должна вставить. Дайте некоторое решение. Благодарю.Передача параметра строки xml в хранимую процедуру SQL Server
ALTER procedure [dbo].[SP_CMSUSER1]
(@xmlString ntext)
as
begin
DECLARE @idoc INT
DECLARE @data nvarchar(100)
EXEC sp_xml_preparedocument @idoc OUTPUT, @xmlString
INSERT INTO dbo.Seg_RecipientsTemp (ContactID,first_name,last_name,company,email,last_updated)
SELECT ContactID,
first_name,
last_name,
company,
email,
last_updated FROM OPENXML(@idoc,
'/NewDataSet/ContactData', 6)
WITH
(ContactID int ,
first_name nvarchar(50),
last_name nvarchar(50),
company nvarchar(max),
email nvarchar(100),
last_updated datetime
)
end
Мой Xml является:
<NewDataSet>
<Table>
<ContactID>2</ContactID>
<last_name>klklk</last_name>
</Table>
<Table>
<ContactID>4</ContactID>
<first_name>k</first_name>
<last_name>kk</last_name>
<company>k</company>
</Table>
<Table>
<ContactID>6</ContactID>
<first_name>naveen</first_name>
<last_name />
<company>inno</company>
</Table>
<Table>
<ContactID>7</ContactID>
<first_name>sridar</first_name>
<last_name />
<company>mahindara</company>
</Table>
<Table>
<ContactID>1</ContactID>
<first_name>terst</first_name>
</Table>
<Table>
<ContactID>2</ContactID>
<first_name />
<last_name>ask</last_name>
<company />
</Table>
</NewDataSet>
Было бы полезно ** увидеть образец XML ** и получить объяснение того, что вы хотите, чтобы извлечь из него! –
Я хочу проверить, существует ли contactid в таблице sql с xml-строкой, если он уже существует, я не хочу вставлять, новая запись должна быть вставлена, мне нужно, если не существует (выберите * из dbo.Seg_RecipientsTemp где Contact_Id = (в этом мне нужно проверить с помощью xml conatacid) –
Вы хотите ВСТАВИТЬ записи для 'ContactID', которые не существуют в' dbo.Seg_RecipientsTemp', но существуют в XML-данных? Вы хотите ОБНОВИТЬ данные в 'dbo.Seg_RecipientsTemp 'для' ContactID', которые существуют в XML-данных? –