|
|
|
импорт записи из XML без перечисления полей
|
|||
|---|---|---|---|
|
#18+
В отдельной таблице хранятся образы удаленных записей в формате xml из РАЗНЫХ таблиц, типа declare @RowData as xml set @RowData = cast((SELECT top 1 * FROM MyTable1 FOR XML AUTO, ELEMENTS) as xml) Хочу добавлять такие данные универсальным способом без явного перечисления полей в INSERT. Все примеры, что я видел с OPENROWSET, OPENXML требуют указания полей да еще и типов. Неужели нет простого способа, ведь XML и так содержит все их названия? <MyTable1> <Company>MyComp1</Company> <PartNum>1032KNUT</PartNum> <ClassID>HDW</ClassID> <IUM>EA</IUM> </MyTable1> Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 13:25:24 |
|
||
|
импорт записи из XML без перечисления полей
|
|||
|---|---|---|---|
|
#18+
urachins, напишите свой билдер запросов. Чудесных превращений типов и имен не бывает. И Деда Мороза с телепатией тоже. Ну и что, что содержит? Названия и количество тэгов вовсе не обязаны соответствовать названиям и количеству полей таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 14:35:17 |
|
||
|
импорт записи из XML без перечисления полей
|
|||
|---|---|---|---|
|
#18+
И тип данных из приведенного сервер угадывать не умеет: Код: xml 1. догадайтесь с трех раз, это строка, число (какого типа?), или дата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 19:18:57 |
|
||
|
импорт записи из XML без перечисления полей
|
|||
|---|---|---|---|
|
#18+
Зато он отлично разбирается d_TotalSum и dt_SaleDate ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 00:39:24 |
|
||
|
импорт записи из XML без перечисления полей
|
|||
|---|---|---|---|
|
#18+
Да, я надеялся, что SQL сможет сам конвертировать строки в нужный тип, но это не так, а вот такой код работает для любой таблицы входящие параметры - имя схемы и имя таблицы, (образы записей в xml хранились в RChangeLog с тегом Updated), через openxml : Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2017, 09:51:54 |
|
||
|
импорт записи из XML без перечисления полей
|
|||
|---|---|---|---|
|
#18+
urachins Все примеры, что я видел с OPENROWSET, OPENXML требуют указания полей да еще и типов. Неужели нет простого способа, ведь XML и так содержит все их названия? OPENXML( idoc int [ in] , rowpattern nvarchar [ in ] , [ flags byte [ in ] ] ) [ WITH ( SchemaDeclaration | TableName ) ] TableName Is the table name that can be given (instead of SchemaDeclaration) if a table with the desired schema already exists and no column patterns are required . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2017, 10:01:17 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=176&tid=1690750]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 343ms |

| 0 / 0 |
