|
|
|
Аннотированая схема к временной таблице
|
|||
|---|---|---|---|
|
#18+
Доброго дня всем. Имею: MS-SQL 2000 SQLXML 3.0 Хочу: Сделать аннотированную схему к временной таблице - не выходит каменный цветок. Вариант схемы к обычной таблице работает <?xml version="1.0" encoding="windows-1251" ?> <root xmlns:sql="urn:schemas-microsoft-com:xml-sql" > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ms="urn:schemas-microsoft-com:mapping-schema" id="Tree" sql:is-mapping-schema="1" > <xsd:annotation> <xsd:appinfo> <ms:relationship name="ID_PID" parent="tree" parent-key="ID" child="tree" child-key="PID" /> </xsd:appinfo> </xsd:annotation> <xsd:complexType name="TreeNode"> <xsd:sequence> <xsd:element name="Node" type="TreeNode" ms:relation="tree" ms:relationship="ID_PID" ms:max-depth="10" /> </xsd:sequence> <xsd:attribute name="ID" type="xsd:int" /> <xsd:attribute name="PID" type="xsd:int" /> <xsd:attribute name="Name" type="xsd:string" /> </xsd:complexType> <xsd:element name="Node" type="TreeNode" ms:relation="tree" ms:limit-field="pid" ms:limit-value="1"/> </xsd:schema> <sql:xpath-query xmlns:sql='urn:schemas-microsoft-com:xml-sql' mapping-schema='#Tree'> /Node </sql:xpath-query> </root> Как сделать перед <sql:xpath-query... <sql:query> запрос, который создал бы временную таблицу #tree и чтобы схема сгенерировала запрос именно к этой временной таблице? Тупо прописать в схеме "#tree" вместо "tree" не прокатывает. Хелп !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 12:30 |
|
||
|
Аннотированая схема к временной таблице
|
|||
|---|---|---|---|
|
#18+
Каюс грешен. Не знаю как проверял в прошлый раз. Но работает и так. <?xml version="1.0" encoding="windows-1251" ?> <root xmlns:sql="urn:schemas-microsoft-com:xml-sql" > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ms="urn:schemas-microsoft-com:mapping-schema" id="Tree" sql:is-mapping-schema="1" > <xsd:annotation> <xsd:appinfo> <ms:relationship name="ID_PID" parent="#tree" parent-key="ID" child="#tree" child-key="PID" /> </xsd:appinfo> </xsd:annotation> <xsd:complexType name="TreeNode"> <xsd:sequence> <xsd:element name="Node" type="TreeNode" ms:relation="#tree" ms:relationship="ID_PID" ms:max-depth="10" /> </xsd:sequence> <xsd:attribute name="ID" type="xsd:int" /> <xsd:attribute name="PID" type="xsd:int" /> <xsd:attribute name="Name" type="xsd:string" /> </xsd:complexType> <xsd:element name="Node" type="TreeNode" ms:relation="#tree" ms:limit-field="pid" ms:limit-value="1"/> </xsd:schema> <sql:query> select * into #tree from tree </sql:query> <sql:xpath-query xmlns:sql='urn:schemas-microsoft-com:xml-sql' mapping-schema='#Tree'> /Node </sql:xpath-query> </root> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 13:29 |
|
||
|
Аннотированая схема к временной таблице
|
|||
|---|---|---|---|
|
#18+
Выяснил причину, почему в первый раз не получилось. Оказывается при наличие в шаблоне хотябы одного параметра SQLXML помещает весь запрос в sp_executesql и соответственно временная таблица создаваемая в нем не видна текущему сеансу. Можно ли как то это обойти ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 08:38 |
|
||
|
Аннотированая схема к временной таблице
|
|||
|---|---|---|---|
|
#18+
Выяснил причину, почему в первый раз не получилось. Оказывается при наличие в шаблоне хотябы одного параметра SQLXML помещает весь запрос в sp_executesql и соответственно временная таблица создаваемая в нем не видна текущему сеансу. Можно ли как то это обойти ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 09:05 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=34356510&tid=1334438]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 482ms |

| 0 / 0 |
