|
|
|
ErWin 4 ... использование макроса %ForEachColumn
|
|||
|---|---|---|---|
|
#18+
Доброе время суток всем ! Огромная просьба помочь разобраться с одной небольшой проблемой. В ErWin есть очень удачный макрос для работы с колонками таблицы, полный синтаксис которого %ForEachColumn(<table>,<separator>,<sort order>) {<macro code>}, назначение параметров <table> и <separator> вполне прозрачно и снабжено массой примеров как в самом описании, так и вообще в интернете, хотелось бы использовать <sort order> - по логике параметр, регулирующий сортировку колонок, но никаких примеров или ссылок его использования я не нашел, решить задачу путем "мозгового штурма" :) - тоже не удалось. Может быть кто-нибудь пользовался данной опцией и сможет привести простенький пример, как, например, упорядочить наименования колонок по имени : %ForEachColumn(%TableName,",", ??? ) {%ColName}. Заранее огромное спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 17:04 |
|
||
|
ErWin 4 ... использование макроса %ForEachColumn
|
|||
|---|---|---|---|
|
#18+
Гораздо проще описать непосредственно на языке SQL все свои таблицы, связи, процедуры и триггеры. Минус - нужно знать SQL, но его знание и в будушем вам не помещает. Имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 08:34 |
|
||
|
ErWin 4 ... использование макроса %ForEachColumn
|
|||
|---|---|---|---|
|
#18+
Programmer_OrtodoxГораздо проще описать непосредственно на языке SQL все свои таблицы, связи, процедуры и триггеры. Минус - нужно знать SQL, но его знание и в будушем вам не помещает. Имхо. Может быть нескромно, но с SQL и сейчас нерешаемых проблем нет. :) Как раз к CASE средствам шел от программирования влоб на SQL - обратный путь боюсь не осилю в силу преклонного возраста, да и смысла особого не вижу. Можно, наверно, поспорить о плюсах-минусах отдельных программ (ErWin или PowerDesigner, например), но говорить о их бесполезности я бы не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 09:45 |
|
||
|
ErWin 4 ... использование макроса %ForEachColumn
|
|||
|---|---|---|---|
|
#18+
prokhorovВ ErWin есть очень удачный макрос для работы с колонками таблицы, полный синтаксис которого %ForEachColumn(<table>,<separator>,<sort order>) {<macro code>}, назначение параметров <table> и <separator> вполне прозрачно и снабжено массой примеров как в самом описании, так и вообще в интернете, хотелось бы использовать <sort order> - по логике параметр, регулирующий сортировку колонок, но никаких примеров или ссылок его использования я не нашел, решить задачу путем "мозгового штурма" :) - тоже не удалось. Может быть кто-нибудь пользовался данной опцией и сможет привести простенький пример, как, например, упорядочить наименования колонок по имени : %ForEachColumn(%TableName,",", ??? ) {%ColName}. Заранее огромное спасибо ! В примерах действительно в этот параметр всегда передается пустая строка. Я и сам его никогда не использовал, т.к. не очень понимаю какой смысл в сортировке колонок. Тем не менее, так Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 10:24 |
|
||
|
ErWin 4 ... использование макроса %ForEachColumn
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov В примерах действительно в этот параметр всегда передается пустая строка. Я и сам его никогда не использовал, т.к. не очень понимаю какой смысл в сортировке колонок. Тем не менее, так Код: plaintext 1. Код: plaintext 1. С этого я как раз и начал - asc/desc, 0/1 ... пока безрезультатно. :( Предложенный вопрос про сортировку - это только простейший вариант, так сказать для затравки. :) На самом деле хотелось бы отсортировать, используя не столько имена колонок, а например, какие-нибудь UDP данных колонок. Предполагается, что есть некоторое количество таблиц - идентичничных, к ним хочется написать простейшие однотипные процедуры, извлекащие данные только из части колонок и в определенном порядке, для чего использовать UDP колонок : извлекать колонку (0/1), порядковый номер в запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 10:43 |
|
||
|
ErWin 4 ... использование макроса %ForEachColumn
|
|||
|---|---|---|---|
|
#18+
1.А можно узнать - для чего Вам нужен порядок создания колонок? ForEach*** для колонок стреляют в порядке описания сущностей в ErWin. 2. По поводу создания процедур. Пример: создание процедуры, извлекающей "дерево" из таблички. Код: plaintext 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. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. .... то он развернется в след. вида DDL - скрипт: Код: plaintext 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. Т.е. no по умолчанию. Если значение установлено в "yes" - то табличка обрабатывается как дерево. Т.е. генерятся всяческие триггеры, процедурки и проверки. 3. По поводу UDP свойств. Те же деревья. Создаем UDP для свойства сущности, которое говорит, что это свойство - master - поле для древовидных струтур. 4. Еще вариант. Помечаем сущность с пом. UDP generate_id, чтобы выолнять для него генерацию спец. триггеров: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. И везде ForEach** для полей/свойств обрабатываются в порядке их описания... ....так зачем все-таки порядок сортировки? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 00:39 |
|
||
|
ErWin 4 ... использование макроса %ForEachColumn
|
|||
|---|---|---|---|
|
#18+
mv 1.А можно узнать - для чего Вам нужен порядок создания колонок? ForEach*** для колонок стреляют в порядке описания сущностей в ErWin. Огромное спасибо за ответ - очень интересный подход и шикарные примеры ! Для чего нужен порядок колонок (в двух словах, без детальной конкретики) : есть некоторое количество однотипных таблиц, из них осуществляются выборки данных, причем предварительно над частью данных производятся небольшие преобразования - для TSQL это удобнее сделать на мой взгляд в виде хранимых процедур, желательно на выходе получить порядок полей, совпадающий с визуальным представлением в отчете (порядок колонок в отчете не всегда совпадает с порядком в сущности) - пользователь частенько желает проэкспортировать данные из доморощенной системы в программы а-ля Excel с выражением бурного негодования, почему порядок выгруженного не всегда совпадает с первоначальным отчетом. :) Учитывая, что таблиц несколько и действия по созданию процедур легко программируемые, захотелось использовать макрос и сортировать выходные данные на основании UDP колонок. В принципе, обходные пути есть - в частности, с использованием %Include макроса. Ну, а в основном, это спортивный интерес - что это за недокументированная опция <sort order>. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 09:50 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34043426&tid=1544145]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
163ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 450ms |

| 0 / 0 |
