powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Генерация хранимых процедур
25 сообщений из 32, страница 1 из 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
25 сообщений из 32, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Генерация хранимых процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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