Стандартная альтернатива для СОЕДИНЕНИЯ?

Я предполагаю, что Вы находитесь на Vista с помощью VS2008? В этом случае я думаю, что опция FOS_PICKFOLDERS используется при вызове диалогового окна файла Vista IFileDialog. Я боюсь, что в.NET кодируют, это включило бы много непростого кода P/Invoke interop для получения работы.

5
задан 3 November 2009 в 17:21
поделиться

2 ответа

В Oracle 11gR2 они поддерживают рекурсию в общих табличных выражениях (то, что большинство людей Oracle называют факторингом подзапросов, т.е. предложение WITH ). Поскольку это метод ANSI, он должен быть более портативным.

Том Кайт пишет о рекурсивном факторинге подзапросов в выпуске журнала Oracle от 9 ноября .

6
ответ дан 14 December 2019 в 04:41
поделиться

Если вам нужны иерархические запросы к базам данных, которые не поддерживают факторизацию рекурсивных подзапросов (см. ответ APC ), одна очень низкотехнологичная альтернатива - закодировать иерархию в отдельный ключ. Конечно, это будет работать только в том случае, если вы сможете контролировать процесс обновления таблицы и переписывать ключ после родительских обновлений.

Например:

FLAT_HIER_ID  NODE_ID   PARENT_NODE_ID
~N1           N1
~N1~N2        N2        N1
~N1~N2~N3     N3        N2
~N1~N2~N4     N4        N2

Не очень элегантно, но дает вам маршрут для запроса.

Другой (возможно, лучше) вариант - использовать метод « Модель вложенного набора ». Это метод, используемый в Fogbugz для обработки запросов в подкадрах в MSSQL, MySQL и MS Access.

Модель объяснена по адресу:

http://www.developersdex.com/gurus/articles/112.asp

Использование метода в Fogbugz описано по адресу:

http: //www.fogcreek. com / FogBugz / blog / post / Subcases-and-Hierarchy.aspx

2
ответ дан 14 December 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: