Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как построить запрос выборки из переменной
|
|||
|---|---|---|---|
|
#18+
Процедура получает на входе XML вида Код: plaintext 1. 2. 3. 4. 5. Необзодимо разбить его на 2 XML: 1) Код: plaintext 1. 2. 2) Код: plaintext 1. 2. Скиньте пожайлуста пример, или ссылку на документы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 10:45 |
|
||
|
Как построить запрос выборки из переменной
|
|||
|---|---|---|---|
|
#18+
Может, тут ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 14:41 |
|
||
|
Как построить запрос выборки из переменной
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinМожет, тут ? Немного не то. Предположим у нас есть выше описанный XML. Так же таблицы Table1 и Table2. Нам нужно в ячейку одной таблицы вставить XML узел Код: plaintext 1. 2. в другую таблицу Код: plaintext 1. 2. В принципе как в таблицы разбивать значения полей XML я знаю но мне нужно вставлять XML узлы полностью. при этом если в одну таблицу данные по какой либо причине не вставятся, то и другая должна быть откатана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 15:03 |
|
||
|
Как построить запрос выборки из переменной
|
|||
|---|---|---|---|
|
#18+
Это неправильный XML-документ. Корневой узел должен быть один. Т.е. как минимум нужно сделать "обрамляющий" тег. А в него вложить два приведенных тега. А дальше через XQUERY например. Не скажу что приведенный ниже пример оптимален, сам только начал со всем этим разбираться SELECT XMLQUERY('$a/root/name' passing F1 as "a") FROM ( SELECT XMLPARSE(DOCUMENT('<root><name><first>John</first><second>Smit</second></name><age>20</age></root>')) as F1 FROM SYSIBM.SYSDUMMY1 ) AS A Соответсвенно на основе этого примера можно сваять INSERT оператор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 17:57 |
|
||
|
Как построить запрос выборки из переменной
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. Ошибкаcom.ibm.db2.jcc.c.SqlException: An unexpected token "(" was found following "sing F1 as "a") FROM". Expected tokens may include: ",". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 07:52 |
|
||
|
Как построить запрос выборки из переменной
|
|||
|---|---|---|---|
|
#18+
И опять же всё делается через одно место: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 08:40 |
|
||
|
Как построить запрос выборки из переменной
|
|||
|---|---|---|---|
|
#18+
HektorИ опять же всё делается через одно место:Да уж... Только, если я нигде не ошибся, содержимое вашей процедуры можно заменить одним оператором: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 10:17 |
|
||
|
Как построить запрос выборки из переменной
|
|||
|---|---|---|---|
|
#18+
Оригинально. 1. Вообще-то я вложенный SELECT привел только для наглядности. В производственном режиме ИМХО лучше вначале положить в базу исходный XML, а потом уже его "разбивать" на составляющие, хотя это конечно зависит от ситуации. 2. Операцию выборки и вставки можно совместить в одном операторе (INSERT ... SELECT). 3. Зачем производить XMLSERIALIZE, если дальше нужно выполнить XMLPARSE ? Зачем хранить данные в виде VARCHAR, если их можно хранить как XML? 4. Валидацию XML можно установить как CONSTRAINT на соотвествующий столбец таблицы. Вот пример хранимой: CREATE PROCEDURE insert_xml ( SOURCE XML ) ------------------------------------------------------------------------ -- SQL Хранимая процедура ------------------------------------------------------------------------ P1: BEGIN DECLARE NAME_XML XML; DECLARE DATA_XML XML; SET NAME_XML = XMLQUERY('document { $a/root/name }' passing SOURCE as "a"); SET DATA_XML = XMLQUERY('document { $a/root/data }' passing SOURCE as "a"); INSERT INTO EHABAROV.TEST2(NAME,DATA) VALUES(NAME_XML,DATA_XML); END P1 Настоятельно рекомендую почитать IBM Redbook sg247315 (DB2 9 pureXML Guide) и презентацию http://www.citforum.ru/seminars/cbd2007/1_6_pureXML.ppt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 11:56 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=112&tid=1604548]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 366ms |

| 0 / 0 |
