Возможно ли как то упростить написание запросов к базе?
От:
Аноним
Дата:
25.07.13 05:55
Оценка:
Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join
Хотелось бы вместо
select * from books b
left join authors a on a.id = b.authorId
where a.name = 'foo'
что нибудь типа
select * from books b
where b.author.name = 'foo'
Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул.
Возможно какой то диалект или инструментарий такое поддерживает?
Re: Возможно ли как то упростить написание запросов к базе?
От:
Аноним
Дата:
25.07.13 06:03
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join А>Хотелось бы вместо А>
А>select * from books b
А>left join authors a on a.id = b.authorId
А>where a.name = 'foo'
А>
А>что нибудь типа А>
А>select * from books b
А>where b.author.name = 'foo'
А>
А>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул. А>Возможно какой то диалект или инструментарий такое поддерживает?
А "сделать нужное представление (CREATE VIEW AS SELECT ...) один раз и потом пользоваться" не подходит?
Re: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, Аноним, Вы писали:
А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join А>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул. А>Возможно какой то диалект или инструментарий такое поддерживает?
В SSMS 2012 для SQL Server существуют фрагменты кода (code snippets), которые облегчают создание инструкций на T-SQL По сути фрагменты кода это шаблоны, которые содержат выражения, инструкции, объекты БД. Готовые шаблоны идут в поставке с SSMS, кроме того есть возможность самостоятельно создавать фрагменты. Парой щелчков клавишами вы можете получать многостраничные запросы на T-SQL, избавляя себя от рутинных операций Add Transact-SQL Snippets
В более ранних версиях SMSS реализована функциональность templates, можно использовать ее в качестве альтернативы + различные Addin к SSMS
Re[2]: Возможно ли как то упростить написание запросов к базе?
От:
Аноним
Дата:
25.07.13 15:54
Оценка:
Здравствуйте, Аноним, Вы писали:
Нет, запросы всегда разные с разными таблицами.
Re[2]: Возможно ли как то упростить написание запросов к базе?
От:
Аноним
Дата:
25.07.13 16:20
Оценка:
Здравствуйте, Olaf, Вы писали:
Вариант, то конечно не идеально. Кроме написания есть и вторая проблема,
если пишется большой запрос, этот весь мусор все равно мозолит глаза.
Re: Возможно ли как то упростить написание запросов к базе?
а еще можно написать hibernate маппинг и запросы писать на HQL
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[2]: Возможно ли как то упростить написание запросов к базе?
От:
Аноним
Дата:
26.07.13 05:52
Оценка:
Здравствуйте, cvetkov, Вы писали:
C>а еще можно написать hibernate маппинг и запросы писать на HQL
Вот это была бы реальная тема, если бы существовал какой нибудь инструмент, который бы в фоне
автоматом генерировал маппинг, и потом можно было бы писать в нем запросы на hql с автокомплитом.
Re: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, Аноним, Вы писали:
А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join А>Хотелось бы вместо А>
А>select * from books b
А>left join authors a on a.id = b.authorId
А>where a.name = 'foo'
А>
А>что нибудь типа А>
А>select * from books b
А>where b.author.name = 'foo'
А>
А>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул. А>Возможно какой то диалект или инструментарий такое поддерживает?
linqpad
Re[2]: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, <Аноним>, Вы писали:
C>>а еще можно написать hibernate маппинг и запросы писать на HQL А>Вот это была бы реальная тема, если бы существовал какой нибудь инструмент, который бы в фоне А>автоматом генерировал маппинг, и потом можно было бы писать в нем запросы на hql с автокомплитом.
халявы не будет. маппинг придется писать в ручную.
генерить маппинг по базе вообще не очень хорошая идея.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[3]: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, Plague, Вы писали:
C>>а еще можно написать hibernate маппинг и запросы писать на HQL
P>"Лучше день потерять, за то потом за 5 минут долететь..." (с) мульт
P>Может я что-то не понимаю? написать сруктуры/классы/маппинг чтоб потом сэкономить 5% текста в запросах?
если маппинг написать один раз, а запросов понадобится много, то может выйти экономия.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[4]: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, MasterZiv, Вы писали:
C>>халявы не будет. маппинг придется писать в ручную. C>>генерить маппинг по базе вообще не очень хорошая идея.
MZ>Маппинг Hiber вполне себе может делать в полуавтоматическом режиме из готовой БД.
в полу автоматическом да. Но руками поправлять все равно придется.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re: Возможно ли как то упростить написание запросов к базе?
От:
Аноним
Дата:
19.12.13 02:56
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join А>Хотелось бы вместо А>
А>select * from books b
А>left join authors a on a.id = b.authorId
А>where a.name = 'foo'
А>
А>что нибудь типа А>
А>select * from books b
А>where b.author.name = 'foo'
А>
А>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул. А>Возможно какой то диалект или инструментарий такое поддерживает?
Существует ещё такая схема соединения таблиц:
select * from books b, authors a
where a.name = 'foo'
В любом случае требуется ссылка в запросе на вторую присоединяемую таблицу
Re: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, Аноним, Вы писали:
А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join А>Хотелось бы вместо А>
А>select * from books b
А>left join authors a on a.id = b.authorId
А>where a.name = 'foo'
А>
А>что нибудь типа А>
А>select * from books b
А>where b.author.name = 'foo'
А>
А>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул. А>Возможно какой то диалект или инструментарий такое поддерживает?
Возможен, но в любом случае необходима ссылка на вторую таблицу
Существует ещё такая схема
select * from books b, authors a
where a.name = 'foo'
Re[2]: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, CTAC, Вы писали:
CTA>Здравствуйте, Аноним, Вы писали:
А>>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join А>>Хотелось бы вместо А>>
А>>select * from books b
А>>left join authors a on a.id = b.authorId
А>>where a.name = 'foo'
А>>
А>>что нибудь типа А>>
А>>select * from books b
А>>where b.author.name = 'foo'
А>>
А>>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул. А>>Возможно какой то диалект или инструментарий такое поддерживает?
CTA>Возможен, но в любом случае необходима ссылка на вторую таблицу
CTA>Существует ещё такая схема
CTA>
CTA>select * from books b, authors a
CTA>where a.name = 'foo'
CTA>a.id = b.authorId
CTA>
Re: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, Аноним, Вы писали:
А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join А>Хотелось бы вместо А>
А>select * from books b
А>left join authors a on a.id = b.authorId
А>where a.name = 'foo'
А>
А>что нибудь типа А>
А>select * from books b
А>where b.author.name = 'foo'
А>
А>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул. А>Возможно какой то диалект или инструментарий такое поддерживает?
А Вы хорошо понимаете чистый SQL?.
В Вашем запросе left join фактически превратился в inner join.
Скорее всего, inner join Вам и был нужен, но тогда лучше уж его явно написать.
К сожалению, в действительности все выглядит иначе, чем на самом деле.
Re: Возможно ли как то упростить написание запросов к базе?
Здравствуйте, Аноним, Вы писали:
А>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул. А>Возможно какой то диалект или инструментарий такое поддерживает?
Я пользуюсь SoftTree SQL Assistant, есть ещё большой лагерь любителей Red Gate. И то и то можно поставить и попробовать. Асист стоит ~6000р, + 700р в год за апдейты (ну это как хош).
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков