powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Генерация хранимых процедур
32 сообщений из 32, показаны все 2 страниц
Генерация хранимых процедур
    #32777422
вася ерем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пишу программу для генерации хранимых процедур (ХП).
Хочу узнать на сколько данная тема интересна другим программистам.
Основные цели: снизить трудоемкость в написании ХП, структуризировать
содержимое ХП и осуществлять хранение ее ситории.

Это достигается за счет автоматизации формирования
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.
Итак, хотелось бы узнать ваше мнение. Интересна ли вам данная задача.
И хотели бы вы обладать такой программой?
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777512
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если честно, то лично мне
1 данная задача не интересна
2 данной програмой обладать бы не хотел

т.к. простые процедуры и так написать просто.
а сложные такой програмкой не напишешь.

Максимум что мне нужно - некий шаблон для синтаксиса ХП (со стандартным обработчиком ошибок например)
Но он у меня уже есть :)
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777561
тоже гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересно было бы генерировать код хранимых процедур на основании некой метаинформации об объекте и его связях, которые описываются в некой визуальной среде. Такие программы есть, они относятся к классу CASE-средств, поддерживают различные СУБД и даже (ограниченно) среды программирования клиентской части. Многие умеют формировать разного рода отчеты и даже экспортировать их в Excel. Программа, весь функционал которой сводится к генерации sql-запроса к таблице, IMHO, интересна только ее разработчику.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777584
Klick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в IBExpert такая штука уже реализована
Create SUID procedures... называется :)
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777587
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>вася ерем
В IB Expert для IB/FB есть генерация ХП (Select, Insert, Update, Delete), я использую. Очень удобно и не требуются никакие шаблоны хранить. Время разработки сокращается значительно.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777592
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Klick
Обогнал да?
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777757
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пишу программу для генерации хранимых процедур (ХП).
Хочу узнать на сколько данная тема интересна другим программистам.

Для какой СУБД это чудо будет ?
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777798
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЯ пишу программу для генерации хранимых процедур (ХП).
Хочу узнать на сколько данная тема интересна другим программистам.

Для какой СУБД это чудо будет ?

Я полагаю для всех
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777811
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bas MasterZivЯ пишу программу для генерации хранимых процедур (ХП).
Хочу узнать на сколько данная тема интересна другим программистам.

Для какой СУБД это чудо будет ?

Я полагаю для всех

То есть ни для какой?

Закон Мерфи (не помню какой) "Напишите программу, которую сможет использовать любой дурак, и ни один дурак не будет ее использовать."
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777832
вася ерем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В данным момент она работатет под MSSql далее передаелаю ее под Oracle
Хоть программа не дописана, я ей уже пользуюсь - значительно облегачает работу!
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777863
вася ерем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОдинЕсли честно, то лично мне
1 данная задача не интересна
2 данной програмой обладать бы не хотел

т.к. простые процедуры и так написать просто.
а сложные такой програмкой не напишешь.

Максимум что мне нужно - некий шаблон для синтаксиса ХП (со стандартным обработчиком ошибок например)
Но он у меня уже есть :)

Ну а что ты будешь делать, если тебе нужно процу написать
с общим объемом в несколько тыс. строк,
например, для копирования записис договора с его связанной информацие в других таблицах. Будешь сидеть и писать несколько дней такую процу?
Я со своей прогой такую штуку сделаю максимум за час.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777876
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у mssql есть такая штука шаблон, у него же из object browsera мышкой перетягиваются списки полей и параметров, а ещё можно юзать конструктор представлений если лень писать руками, эти три штуки практически заменяют эту прогу для mssql, у оракла таких приблуд ещё больше, особенно понравилась презентация какой-то дорогущей штуки(крякнутую не нашел, поэтому уже и название забыл), у которой тьма визардов + она сама все подставляет как C++Builder

ИМХО, массовая продажа проге этой не светит, а время сэкономленное этой прогой <= времени её написания и отладки, но у автора остался неоценимый опыт, так что писал не зря
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777906
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вася еремНу а что ты будешь делать, если тебе нужно процу написать
с общим объемом в несколько тыс. строк,
например, для копирования записис договора с его связанной информацие в других таблицах.Поясните, откуда такая оценка объемов кода?
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777918
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вася ерем ОдинЕсли честно, то лично мне
1 данная задача не интересна
2 данной програмой обладать бы не хотел

т.к. простые процедуры и так написать просто.
а сложные такой програмкой не напишешь.

Максимум что мне нужно - некий шаблон для синтаксиса ХП (со стандартным обработчиком ошибок например)
Но он у меня уже есть :)

Ну а что ты будешь делать, если тебе нужно процу написать
с общим объемом в несколько тыс. строк,
например, для копирования записис договора с его связанной информацие в других таблицах. Будешь сидеть и писать несколько дней такую процу?
Я со своей прогой такую штуку сделаю максимум за час.

а ты уверен, что за час напишешь процедуру длиной несколько тысяч строк?
вот мне требуется несколько часов, чтобы прочитать ТЗ на такую процедуру и это не потому, что я читаю медленно :-)

зато процедура копирования записи и её подчиненной информации ну никак на тысячу строк не тянет
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777919
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вася ерем
Ну а что ты будешь делать, если тебе нужно процу написать
с общим объемом в несколько тыс. строк,
например, для копирования записис договора с его связанной информацие в других таблицах. Будешь сидеть и писать несколько дней такую процу?
Я со своей прогой такую штуку сделаю максимум за час.

Несколько тысяч строк?! Не приведи Господь. Это как же надо исхитриться мпроекировать базу, чтобы в ней писать код в несколько!!! тысяч строк для одной!!! процедуры. А копирование - вообще рутинная процедура, не более 100 (очень завышено) строк.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777925
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу а что ты будешь делать, если тебе нужно процу написать
с общим объемом в несколько тыс. строк,
например, для копирования записис договора с его связанной информацие в других таблицах.
Так вы еще и данные в ХП прописываете? Ну там весь текст договора полностью?
А не надо так - вы с помощью insert select это делайте. И не будет несколько тысяч строк

Мдаааааа

-- Tygra's --
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777948
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вася ерем
Ну а что ты будешь делать, если тебе нужно процу написать
с общим объемом в несколько тыс. строк,
например, для копирования записис договора с его связанной информацие в других таблицах. Будешь сидеть и писать несколько дней такую процу?
Я со своей прогой такую штуку сделаю максимум за час. :) Еще одна серебряная пуля что-ли ?

Я могу ответить, что то что вы сделали за час придется отлаживать потом несколько дней. Причем особо это проявляется при больших и сложных процедурах. Но это беспередметный и пустой разговор.
Я присоединяюсь к тому, что сказал _bob.
Т.е. лично для вас написание этой штуки наверное полезно. Как тренировка в программировании. Но все, что нужно в случае MSSQL уже есть в QA.
Собственно и CreateStoredProcedure Wizard даже есть, но я не видил чтоб им пользовались.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32777979
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JinnНесколько тысяч строк?! Не приведи Господь. Это как же надо исхитриться мпроекировать базу, чтобы в ней писать код в несколько!!! тысяч строк для одной!!! процедуры. А копирование - вообще рутинная процедура, не более 100 (очень завышено) строк. Вот наугад ткнул в sp_changemergepublication - 986 строк.
Зависит от сложности, стиля написания в конце концов.
Так что оценивать "крутость" процедуры по кол-ву строк - так же умно, как сложность системы по кол-ву таблиц в ней (а часто оценивают)
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32778074
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Один
Вот наугад ткнул в sp_changemergepublication - 986 строк.
Зависит от сложности, стиля написания в конце концов.
Так что оценивать "крутость" процедуры по кол-ву строк - так же умно, как сложность системы по кол-ву таблиц в ней (а часто оценивают)
Ого!!! И что, простите, Вы там такого грандиозного делаете? Не легче такую байду вынести в бизнес-сервер, дабы сервер баз данных занимался своей непосредственной работой (обеспечивал быструю и надежную работу по хранению и извлесению данных)? Может у Вас еще и триггеры строк по 200?
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32778134
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JinnОго!!! И что, простите, Вы там такого грандиозного делаете? Не легче такую байду вынести в бизнес-сервер, дабы сервер баз данных занимался своей непосредственной работой (обеспечивал быструю и надежную работу по хранению и извлесению данных)? Может у Вас еще и триггеры строк по 200? это системная процедура MS SQLServer-a. Нужна ему, чтобы он "обеспечивал быструю и надежную работу по хранению и извлесению данных"
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32778276
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 All

Напрасно вы все глумитесь над человеком...
Генерация кода на основе метаинформации ли, структуры таблиц ли, или еще какой-нить другой "основы" - вопрос далеко не такой праздный, как многие тут пытаются представить... Этим делом многие люди занимаются серьезно, и пишут серьезные программы для этого... (даже не бесплатные). В хорошо структурированном компонентном бизнес-приложении можно 70%-80% кода делать генерацией (личный опыт).

Вот один из примеров удачной (ИМХО) бесплатной реализации кодогенератора: CodeSmith .
(правда, требуется .NET Framework 1.0 или 1.1, зато уже прилагаются готовые шаблоны для генерации CRUD-процедур, DAL-классов, типизированных BE-классов на основе DataSet и т.д., даже интерфейс уже реализован для того, чтобы "щелкать мышкой, выбирая ..." таблицы из конкретной БД).
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32778319
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qu-qu2 All

Напрасно вы все глумитесь над человеком...
Генерация кода на основе метаинформации ли, структуры таблиц ли, или еще какой-нить другой "основы" - вопрос далеко не такой праздный, как многие тут пытаются представить... Этим делом многие люди занимаются серьезно, и пишут серьезные программы для этого... (даже не бесплатные). В хорошо структурированном компонентном бизнес-приложении можно 70%-80% кода делать генерацией (личный опыт).

Вот один из примеров удачной (ИМХО) бесплатной реализации кодогенератора: CodeSmith .
(правда, требуется .NET Framework 1.0 или 1.1, зато уже прилагаются готовые шаблоны для генерации CRUD-процедур, DAL-классов, типизированных BE-классов на основе DataSet и т.д., даже интерфейс уже реализован для того, чтобы "щелкать мышкой, выбирая ..." таблицы из конкретной БД). 2 All - это значит обращение и ко мне. За All отвечать не буду, отвечу за себя.

Лично я не глумлюсь, извиняюсь если это было воспринято так. Это раз.

Автор треда спросил интересна ли кому либо его программа. Я ответил, что лично мне не интересна. Это два.

Против генерации кода я ничего не имею против, кому нравится - пусть генерирует. Но в случае MSSQL на мой взгляд существующих (встроенных в утилиты, распространяемые с сервером) средств для генерации кода вполне достаточно. Это три.

Более того, если их не достаточно - нетрудно найти уже написанные, что вы и подтвердили своей ссылкой. Это четыре.

Тем не менее для себя, как тренировка в программировании, написать подобную вещь - полезно. Это пять.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32778424
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня для таких целей есть проца, на входе получает имя таблы/вью, на выходе выдает скрипт процедуры для insert/update/delete с кошерной обработкой транзакций/ошибок/вложенных транзакций (188 строк проца, 80% - текст шаблона процы с комментариями и т.д.).
один недостаток - предполагается что всегда есть поле id int identity. если нет - надо чуток править руками.
а целую прогу для этого? сомнительно. разве что для тренировки.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32778439
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вася ерем
Хоть программа не дописана, я ей уже пользуюсь - значительно облегачает работу!
Это всего лишь означает, что Вы генерируете кучу малоосмысленных ненужных процедур.

Сродни стандартному подходу - нагенерить для каждой таблицы процедур на insert, update, delete и говорить "у нас вся логика на хранимых процедурах".
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32778607
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея не нова. Хотя я поддерживаю Василия. Единственно.. хочу отметить что все средства визуальной разработки, визарды и прочее на выходе имеют окончательное решение в рамках конкретной системы. На большее расчитывать трудно.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32778781
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer вася ерем
Хоть программа не дописана, я ей уже пользуюсь - значительно облегачает работу!
Это всего лишь означает, что Вы генерируете кучу малоосмысленных ненужных процедур.

И где это написанно? С чего такое предположение?

softwarer
Сродни стандартному подходу - нагенерить для каждой таблицы процедур на insert, update, delete и говорить "у нас вся логика на хранимых процедурах".Получается стандартный подход основан на " куче малоосмысленных ненужных процедур ".
Раскажите, плиз, про не стандартный подход.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32779092
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нестандартный подход основан на куче бессмысленных select, update, insert..., которые не заключены в create procedure ... end, а вызываются прямо из клиента :)) И правятся там же.

По теме.
Отдельное целое приложение действительно скорее всего не очень то кому нужно. Кто-то привык писать сам, кто-то использует стандартные средства, кто-то написал вот ХП, которая все это делает. Да и в принципе покупать/устанавливать только из-за того, чтобы генерить 4 стандартные ХП - ???
Такие приложения могут жить только в конкретных коллективах разработчиков, где приложение делается под собственные нужды, поддерживает общий стандарт разработки и т.д. У нас вот есть такое, был о нем топик, правда в нем не разрабатываем ХП - только тесты и другие действия над БД. Для ХП у нас есть старый добрый МЕ :)

-- Tygra's --
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32780485
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76И где это написанно? С чего такое предположение?
C теоремы Шеннона. Грубо говоря, если "значительно помогает" - значит, Вы нашли значительно более экономный (по сравнению с PL/SQL) способ записывать выполняемые Вами действия. Соответственно, PL/SQL (в том виде, который Вы применяете) содержит мало значимого на единицу объема.

Простой пример: если Вы всегда оперируете со всеми полями таблицы - значимой информацией является только название таблицы и есть большая экономия. Если Вы оперируете не со всеми полями, но делаете простые операции - программа позволит Вам выбрать эти поля в листбоксе; это заметная экономия. Если же Вы описываете сложные операции - PL/SQL окажется короче, чем попытка описать то же "мышкой".

Dik76 softwarer
Сродни стандартному подходу - нагенерить для каждой таблицы процедур на insert, update, delete и говорить "у нас вся логика на хранимых процедурах".Получается стандартный подход основан на " куче малоосмысленных ненужных процедур ".
Именно так. Стоило бы только добавить "стандартный для наших программистов, слышавших, что ХП - это круто".

Dik76Раскажите, плиз, про не стандартный подход.
Спроектировать процедуры, содержащие много значимого и реализовать их.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32780518
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну против теоремы Шеннона - я пас
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32780554
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas MasterZivЯ пишу программу для генерации хранимых процедур (ХП).
Хочу узнать на сколько данная тема интересна другим программистам.

Для какой СУБД это чудо будет ?

Я полагаю для всех



Это - утопия. Для всех быть не может.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32781222
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Речь как я понял идет о макрорасширениях для процедурного SQL.
...
Рейтинг: 0 / 0
Генерация хранимых процедур
    #32781566
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совершенно верно.
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Генерация хранимых процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]