Возможно ли как то упростить написание запросов к базе?
От: Аноним  
Дата: 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: Возможно ли как то упростить написание запросов к базе?
От: Plague Россия  
Дата: 25.07.13 07:10
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать join


Можно. Если, сделаете базу объектной.

Примеры в документации по Оракле:
http://docs.oracle.com/cd/B19306_01/appdev.102/b14260/adobjint.htm
Re: Возможно ли как то упростить написание запросов к базе?
От: Olaf Россия  
Дата: 25.07.13 07:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать 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: Возможно ли как то упростить написание запросов к базе?
От: cvetkov  
Дата: 25.07.13 17:29
Оценка:
а еще можно написать hibernate маппинг и запросы писать на HQL
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[2]: Возможно ли как то упростить написание запросов к базе?
От: Аноним  
Дата: 26.07.13 05:52
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>а еще можно написать hibernate маппинг и запросы писать на HQL

Вот это была бы реальная тема, если бы существовал какой нибудь инструмент, который бы в фоне
автоматом генерировал маппинг, и потом можно было бы писать в нем запросы на hql с автокомплитом.
Re: Возможно ли как то упростить написание запросов к базе?
От: Аноним  
Дата: 26.07.13 05:56
Оценка: 8 (2)
Здравствуйте, Аноним, Вы писали:

А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать 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]: Возможно ли как то упростить написание запросов к базе?
От: Plague Россия  
Дата: 26.07.13 13:05
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>а еще можно написать hibernate маппинг и запросы писать на HQL


"Лучше день потерять, за то потом за 5 минут долететь..." (с) мульт

Может я что-то не понимаю? написать сруктуры/классы/маппинг чтоб потом сэкономить 5% текста в запросах?
Re[3]: Возможно ли как то упростить написание запросов к базе?
От: cvetkov  
Дата: 26.07.13 21:29
Оценка:
Здравствуйте, <Аноним>, Вы писали:

C>>а еще можно написать hibernate маппинг и запросы писать на HQL

А>Вот это была бы реальная тема, если бы существовал какой нибудь инструмент, который бы в фоне
А>автоматом генерировал маппинг, и потом можно было бы писать в нем запросы на hql с автокомплитом.
халявы не будет. маппинг придется писать в ручную.
генерить маппинг по базе вообще не очень хорошая идея.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[3]: Возможно ли как то упростить написание запросов к базе?
От: cvetkov  
Дата: 26.07.13 21:30
Оценка:
Здравствуйте, Plague, Вы писали:

C>>а еще можно написать hibernate маппинг и запросы писать на HQL


P>"Лучше день потерять, за то потом за 5 минут долететь..." (с) мульт


P>Может я что-то не понимаю? написать сруктуры/классы/маппинг чтоб потом сэкономить 5% текста в запросах?

если маппинг написать один раз, а запросов понадобится много, то может выйти экономия.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[4]: Возможно ли как то упростить написание запросов к базе?
От: MasterZiv СССР  
Дата: 30.07.13 14:25
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>халявы не будет. маппинг придется писать в ручную.

C>генерить маппинг по базе вообще не очень хорошая идея.

Маппинг Hiber вполне себе может делать в полуавтоматическом режиме из готовой БД.
Для этого есть инструменты.
Re[5]: Возможно ли как то упростить написание запросов к базе?
От: cvetkov  
Дата: 01.08.13 15:51
Оценка:
Здравствуйте, 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: Возможно ли как то упростить написание запросов к базе?
От: CTAC  
Дата: 19.12.13 03:05
Оценка: -1
Здравствуйте, Аноним, Вы писали:

А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать 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  
Дата: 19.12.13 03:08
Оценка:
Здравствуйте, 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: Возможно ли как то упростить написание запросов к базе?
От: Tigor Россия  
Дата: 19.12.13 14:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Часто приходится писать запросы к базе и сильно напрягает на каждый чих писать 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: Возможно ли как то упростить написание запросов к базе?
От: ZAMUNDA Земля для жалоб и предложений
Дата: 20.12.13 06:35
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Нужно не для разработки, а только для написания один раз, получил данные, посмотрел на них и код выкинул.

А>Возможно какой то диалект или инструментарий такое поддерживает?
Я пользуюсь SoftTree SQL Assistant, есть ещё большой лагерь любителей Red Gate. И то и то можно поставить и попробовать. Асист стоит ~6000р, + 700р в год за апдейты (ну это как хош).
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.