Название: Запросы к PostgreSQL (кто как пишет???) Отправлено: RVZ от Январь 28, 2012, 17:42 В общем решил использовать в своих проектах PostgreSQL (раньше юзал MSSQL 2005).
Итак через PgAdminIII нормально отрабатывает.... Код Причем удивляет именно обязательное наличие двойных кавычек при указании имени столбцов.... (может только у меня так???) раньше как то не уделял этому особого внимания (). А вот из программы запрос в виде Код Работать не хочет... это конечно не особо удивляет. При приведении к следующей форме - Код нормально работает. НО!!!! вот это - Код порядком достает. Хотелось бы узнать кто как оформляет SQL код в своих проектах.... поделитесь опытом. ??? Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: asvil от Январь 29, 2012, 16:43 У вас таблицы созданы с идентификаторами столбцов, имена которых были в кавычках, а значит эти идентификаторы регистрозависимы.
Для сохранения регистра при запросах вам теперь также приходится использовать кавычки. Предпочтительной нотацией для базы является some_column_identifier. Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: Disaron от Январь 29, 2012, 17:17 Дело в том что pgadmin при создании столбцов с разными регистрами в имени - взяли Вы их в кавычки или не взяли, создает их регистрозависимыми, а значит требует взятие в кавычки. Вообще разные регистры в именах столбцов - это паразитство МС-стайл. Отучаться надо от этого с ранних лет.
Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: RVZ от Январь 29, 2012, 22:27 Огромное спасибо!!!
действительно при исключении заглавных букв надобность в двойных кавычках отпала :D . Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: RVZ от Октябрь 08, 2012, 01:42 Всем доброго времени суток.
Продолжаю свое знакомство с PostgreSQL В общем обрадованный более менее приличной поддержкой функций возвращающих табличные значение в 9.1 дал волю воспаленному мозгу и нарвался на следующие ограничение Код Движок ругается на list_people_doc(pe.people_id) говорит что в этой части я не могу обращаться к pe.people_id хотя очень хочется... Кто нибудь в курсе с 9.2 тоже не получится? и работал бы подобный код в каких нибудь других движках ??? ? Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: cya-st от Октябрь 08, 2012, 23:50 list_people_doc я так понисаю это хранимая процедура, она присутствует в БД? попробуйте задать без me.
Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: RVZ от Октябрь 09, 2012, 15:41 Если в общем то да.. только list_people_doc это пользовательская функция возвращающая табличное значение (процедур как я понял в PG нет) и да она присутствует и работает (собственно и смысл этого кода заключался в ленивости что бы не писать механизм уже реализованный). без me. не получится это схема а юзверь в public ищет (да и если поставить статическое значение -число например "1" в место pe.people_id то функция запускается).
Как мне кажется проблема гдето с областью видимости пространства pe. (сегодня вечером еще несколько тестов проведу) Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: cya-st от Октябрь 09, 2012, 15:51 Цитировать (процедур как я понял в PG нет) Функция есть, а процедур нет ;D.Не хочу вас обидеть, но скорее всего вам нужно изучать с нуля PG Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: fte от Октябрь 09, 2012, 17:11 А так?
Код
Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: RVZ от Октябрь 10, 2012, 21:21 А так? Код
Очень интересный пример. Результат получился как при INNER JOIN а подобный (me.list_people_doc(people_id)).* вызов признаться вижу в первые. Хотелось бы поподробнее узнать о возможностях такова приема (случайно нет ли ссылки на доку с примерами?) Есть ли возможность me.list_people_doc(people_id) задать псевдоним (или что то) что бы например поле stat (mll.stat) и pe.stat можно было использовать в WHERE Название: Re: Запросы к PostgreSQL (кто как пишет???) Отправлено: fte от Октябрь 11, 2012, 12:19 Ну насчет примеров, обратитесь в специализированные форумы по postgresql..... или , вернее сначала к документации
Код
|