Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Я пишу программу для генерации хранимых процедур (ХП). Хочу узнать на сколько данная тема интересна другим программистам. Основные цели: снизить трудоемкость в написании ХП, структуризировать содержимое ХП и осуществлять хранение ее ситории. Это достигается за счет автоматизации формирования SQL запросов: Select, Insert, Update, Cursor, Declare ... То есть, например, для формирования запроса Insert, пользователю программы достаточно выбрать таблицу Table1 из списка, указать тип SQL запроса, при этом будет сформирован следующий код: Create Procedure Proc1(@INPar1, @INPar2...) AS Declare @Firld1 int , @Field2 Varchar(20)... ... Set @Firld1 = @Param1 Set @Field2 = = @Param2 ... Insert Into Table1(Firld1, Field2...) values(@Firld1, @Field2...) ... Разработчику не придется вручную набирать текст ХП, а в основном он будет только щелкать мышкой, выбирая тот или иной вариант и редактируя сожержимое: менять список столбцов, тип соединения таблиц, названия параметров, синонимов... Процедуры в программе представлены в виде иерархической структуры, что дает более наглядное представление о ней. Еще стоит добавть, что данная программа будет иметь возможность формировать отчеты в Excel. Итак, хотелось бы узнать ваше мнение. Интересна ли вам данная задача. И хотели бы вы обладать такой программой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 13:24 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Если честно, то лично мне 1 данная задача не интересна 2 данной програмой обладать бы не хотел т.к. простые процедуры и так написать просто. а сложные такой програмкой не напишешь. Максимум что мне нужно - некий шаблон для синтаксиса ХП (со стандартным обработчиком ошибок например) Но он у меня уже есть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 13:58 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Интересно было бы генерировать код хранимых процедур на основании некой метаинформации об объекте и его связях, которые описываются в некой визуальной среде. Такие программы есть, они относятся к классу CASE-средств, поддерживают различные СУБД и даже (ограниченно) среды программирования клиентской части. Многие умеют формировать разного рода отчеты и даже экспортировать их в Excel. Программа, весь функционал которой сводится к генерации sql-запроса к таблице, IMHO, интересна только ее разработчику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 14:11 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
в IBExpert такая штука уже реализована Create SUID procedures... называется :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 14:19 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
>вася ерем В IB Expert для IB/FB есть генерация ХП (Select, Insert, Update, Delete), я использую. Очень удобно и не требуются никакие шаблоны хранить. Время разработки сокращается значительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 14:21 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
>Klick Обогнал да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 14:22 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Я пишу программу для генерации хранимых процедур (ХП). Хочу узнать на сколько данная тема интересна другим программистам. Для какой СУБД это чудо будет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 15:26 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
MasterZivЯ пишу программу для генерации хранимых процедур (ХП). Хочу узнать на сколько данная тема интересна другим программистам. Для какой СУБД это чудо будет ? Я полагаю для всех ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 15:36 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
bas MasterZivЯ пишу программу для генерации хранимых процедур (ХП). Хочу узнать на сколько данная тема интересна другим программистам. Для какой СУБД это чудо будет ? Я полагаю для всех То есть ни для какой? Закон Мерфи (не помню какой) "Напишите программу, которую сможет использовать любой дурак, и ни один дурак не будет ее использовать." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 15:42 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
В данным момент она работатет под MSSql далее передаелаю ее под Oracle Хоть программа не дописана, я ей уже пользуюсь - значительно облегачает работу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 15:51 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ОдинЕсли честно, то лично мне 1 данная задача не интересна 2 данной програмой обладать бы не хотел т.к. простые процедуры и так написать просто. а сложные такой програмкой не напишешь. Максимум что мне нужно - некий шаблон для синтаксиса ХП (со стандартным обработчиком ошибок например) Но он у меня уже есть :) Ну а что ты будешь делать, если тебе нужно процу написать с общим объемом в несколько тыс. строк, например, для копирования записис договора с его связанной информацие в других таблицах. Будешь сидеть и писать несколько дней такую процу? Я со своей прогой такую штуку сделаю максимум за час. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 16:03 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
у mssql есть такая штука шаблон, у него же из object browsera мышкой перетягиваются списки полей и параметров, а ещё можно юзать конструктор представлений если лень писать руками, эти три штуки практически заменяют эту прогу для mssql, у оракла таких приблуд ещё больше, особенно понравилась презентация какой-то дорогущей штуки(крякнутую не нашел, поэтому уже и название забыл), у которой тьма визардов + она сама все подставляет как C++Builder ИМХО, массовая продажа проге этой не светит, а время сэкономленное этой прогой <= времени её написания и отладки, но у автора остался неоценимый опыт, так что писал не зря ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 16:08 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
вася еремНу а что ты будешь делать, если тебе нужно процу написать с общим объемом в несколько тыс. строк, например, для копирования записис договора с его связанной информацие в других таблицах.Поясните, откуда такая оценка объемов кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 16:15 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
вася ерем ОдинЕсли честно, то лично мне 1 данная задача не интересна 2 данной програмой обладать бы не хотел т.к. простые процедуры и так написать просто. а сложные такой програмкой не напишешь. Максимум что мне нужно - некий шаблон для синтаксиса ХП (со стандартным обработчиком ошибок например) Но он у меня уже есть :) Ну а что ты будешь делать, если тебе нужно процу написать с общим объемом в несколько тыс. строк, например, для копирования записис договора с его связанной информацие в других таблицах. Будешь сидеть и писать несколько дней такую процу? Я со своей прогой такую штуку сделаю максимум за час. а ты уверен, что за час напишешь процедуру длиной несколько тысяч строк? вот мне требуется несколько часов, чтобы прочитать ТЗ на такую процедуру и это не потому, что я читаю медленно :-) зато процедура копирования записи и её подчиненной информации ну никак на тысячу строк не тянет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 16:17 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
вася ерем Ну а что ты будешь делать, если тебе нужно процу написать с общим объемом в несколько тыс. строк, например, для копирования записис договора с его связанной информацие в других таблицах. Будешь сидеть и писать несколько дней такую процу? Я со своей прогой такую штуку сделаю максимум за час. Несколько тысяч строк?! Не приведи Господь. Это как же надо исхитриться мпроекировать базу, чтобы в ней писать код в несколько!!! тысяч строк для одной!!! процедуры. А копирование - вообще рутинная процедура, не более 100 (очень завышено) строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 16:18 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
авторНу а что ты будешь делать, если тебе нужно процу написать с общим объемом в несколько тыс. строк, например, для копирования записис договора с его связанной информацие в других таблицах. Так вы еще и данные в ХП прописываете? Ну там весь текст договора полностью? А не надо так - вы с помощью insert select это делайте. И не будет несколько тысяч строк Мдаааааа -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 16:20 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
вася ерем Ну а что ты будешь делать, если тебе нужно процу написать с общим объемом в несколько тыс. строк, например, для копирования записис договора с его связанной информацие в других таблицах. Будешь сидеть и писать несколько дней такую процу? Я со своей прогой такую штуку сделаю максимум за час. :) Еще одна серебряная пуля что-ли ? Я могу ответить, что то что вы сделали за час придется отлаживать потом несколько дней. Причем особо это проявляется при больших и сложных процедурах. Но это беспередметный и пустой разговор. Я присоединяюсь к тому, что сказал _bob. Т.е. лично для вас написание этой штуки наверное полезно. Как тренировка в программировании. Но все, что нужно в случае MSSQL уже есть в QA. Собственно и CreateStoredProcedure Wizard даже есть, но я не видил чтоб им пользовались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 16:26 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
JinnНесколько тысяч строк?! Не приведи Господь. Это как же надо исхитриться мпроекировать базу, чтобы в ней писать код в несколько!!! тысяч строк для одной!!! процедуры. А копирование - вообще рутинная процедура, не более 100 (очень завышено) строк. Вот наугад ткнул в sp_changemergepublication - 986 строк. Зависит от сложности, стиля написания в конце концов. Так что оценивать "крутость" процедуры по кол-ву строк - так же умно, как сложность системы по кол-ву таблиц в ней (а часто оценивают) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 16:36 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Один Вот наугад ткнул в sp_changemergepublication - 986 строк. Зависит от сложности, стиля написания в конце концов. Так что оценивать "крутость" процедуры по кол-ву строк - так же умно, как сложность системы по кол-ву таблиц в ней (а часто оценивают) Ого!!! И что, простите, Вы там такого грандиозного делаете? Не легче такую байду вынести в бизнес-сервер, дабы сервер баз данных занимался своей непосредственной работой (обеспечивал быструю и надежную работу по хранению и извлесению данных)? Может у Вас еще и триггеры строк по 200? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 17:14 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
JinnОго!!! И что, простите, Вы там такого грандиозного делаете? Не легче такую байду вынести в бизнес-сервер, дабы сервер баз данных занимался своей непосредственной работой (обеспечивал быструю и надежную работу по хранению и извлесению данных)? Может у Вас еще и триггеры строк по 200? это системная процедура MS SQLServer-a. Нужна ему, чтобы он "обеспечивал быструю и надежную работу по хранению и извлесению данных" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 17:38 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 All Напрасно вы все глумитесь над человеком... Генерация кода на основе метаинформации ли, структуры таблиц ли, или еще какой-нить другой "основы" - вопрос далеко не такой праздный, как многие тут пытаются представить... Этим делом многие люди занимаются серьезно, и пишут серьезные программы для этого... (даже не бесплатные). В хорошо структурированном компонентном бизнес-приложении можно 70%-80% кода делать генерацией (личный опыт). Вот один из примеров удачной (ИМХО) бесплатной реализации кодогенератора: CodeSmith . (правда, требуется .NET Framework 1.0 или 1.1, зато уже прилагаются готовые шаблоны для генерации CRUD-процедур, DAL-классов, типизированных BE-классов на основе DataSet и т.д., даже интерфейс уже реализован для того, чтобы "щелкать мышкой, выбирая ..." таблицы из конкретной БД). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 18:26 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
qu-qu2 All Напрасно вы все глумитесь над человеком... Генерация кода на основе метаинформации ли, структуры таблиц ли, или еще какой-нить другой "основы" - вопрос далеко не такой праздный, как многие тут пытаются представить... Этим делом многие люди занимаются серьезно, и пишут серьезные программы для этого... (даже не бесплатные). В хорошо структурированном компонентном бизнес-приложении можно 70%-80% кода делать генерацией (личный опыт). Вот один из примеров удачной (ИМХО) бесплатной реализации кодогенератора: CodeSmith . (правда, требуется .NET Framework 1.0 или 1.1, зато уже прилагаются готовые шаблоны для генерации CRUD-процедур, DAL-классов, типизированных BE-классов на основе DataSet и т.д., даже интерфейс уже реализован для того, чтобы "щелкать мышкой, выбирая ..." таблицы из конкретной БД). 2 All - это значит обращение и ко мне. За All отвечать не буду, отвечу за себя. Лично я не глумлюсь, извиняюсь если это было воспринято так. Это раз. Автор треда спросил интересна ли кому либо его программа. Я ответил, что лично мне не интересна. Это два. Против генерации кода я ничего не имею против, кому нравится - пусть генерирует. Но в случае MSSQL на мой взгляд существующих (встроенных в утилиты, распространяемые с сервером) средств для генерации кода вполне достаточно. Это три. Более того, если их не достаточно - нетрудно найти уже написанные, что вы и подтвердили своей ссылкой. Это четыре. Тем не менее для себя, как тренировка в программировании, написать подобную вещь - полезно. Это пять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 18:42 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
у меня для таких целей есть проца, на входе получает имя таблы/вью, на выходе выдает скрипт процедуры для insert/update/delete с кошерной обработкой транзакций/ошибок/вложенных транзакций (188 строк проца, 80% - текст шаблона процы с комментариями и т.д.). один недостаток - предполагается что всегда есть поле id int identity. если нет - надо чуток править руками. а целую прогу для этого? сомнительно. разве что для тренировки. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 19:53 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
вася ерем Хоть программа не дописана, я ей уже пользуюсь - значительно облегачает работу! Это всего лишь означает, что Вы генерируете кучу малоосмысленных ненужных процедур. Сродни стандартному подходу - нагенерить для каждой таблицы процедур на insert, update, delete и говорить "у нас вся логика на хранимых процедурах". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 20:08 |
|
||
|
Генерация хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Идея не нова. Хотя я поддерживаю Василия. Единственно.. хочу отметить что все средства визуальной разработки, визарды и прочее на выходе имеют окончательное решение в рамках конкретной системы. На большее расчитывать трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2004, 02:20 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=161&tid=1546186]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
96ms |
get tp. blocked users: |
1ms |
| others: | 284ms |
| total: | 467ms |

| 0 / 0 |
