доков нет нормальных. инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных.
https://www.postgresql.org/docs/ не благодари
N>инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
Ничего не понял, что ты тут написал. Но на всякий случай посоветую писать бизнес-логику на go, а не на sql.
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных. инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
Может нужно просто уметь его готовить? В чем проблема?
BE>Может нужно просто уметь его готовить? В чем проблема?
помнится, в бородатый год, после интербейза переходил на транзакт. просто взял и начал писать. все было в кайф. все логично, все понятно и предсказуемо. ровно так, как и должно быть. без лишних телодвижений.
DP>А вот тут более приближенно к практике с примерами и картинками https://www.postgresqltutorial.com. Эта же ссылка указана на оф. сайте.
еще прикол. 90% запросов ведут не на всякие стэкаверфлоу и т.п., а на оф сайт постгри. где нет по теме вообще ни хре на. черт бы побрал это импортозамещение.
Здравствуйте, nikkit, Вы писали:
N>еще прикол. 90% запросов ведут не на всякие стэкаверфлоу и т.п., а на оф сайт постгри. где нет по теме вообще ни хре на. черт бы побрал это импортозамещение.
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных. инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
Я про хранимки в постгресе знаю только то, что они существуют. 21 век на дворе, не нужно использовать их без очень веских причин.
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных. инфа по крупицам.
Прикалываешься? Ко всему, что выше на русском https://www.postgrespro.ru/docs
да мне пофиг. на русском, на английском... это разумеется я нашел. только мне щас нужны скорее рецепты рабочие, а не теория. на которую в данный момент времени нет. в выходные и свободное время понятно буду изучать. но я блин на хелпдесках. т.е. надо родить решение, не зная особо языка грубо говоря. в случае транзакта — материала до жопы практически на любой случай жизни + я его достаточно хорошо знаю. тут же почти на любой запрос отсылает к официальному сайту видимо распространен не только лишь везде.
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных. инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
А кто заставляет так страдать? Ты это, мигни два раза, если в рабстве.
Здравствуйте, yenik, Вы писали:
Y>Воистину нужно. Вот на TSQL (код практической ценности не имеет, чисто для примера): Y>
Y>DECLARE @n AS INT = 1
Y>SELECT * FROM t1
Y>BEGIN TRAN
Y>INSERT t1 VALUES(@n)
Y>SELECT * FROM t1
Y>ROLLBACK
Y>
Y>Выводятся в SSMS два табличных результата. Как это сделать на postgresql?
Не работал с постгре, зато работал с ораклом.
Вопрос, видимо про "получить два табличных результата" в прикладном коде(?)
Если так, то в оракле доступ к результирующим рекордсетам происходит через именованные курсоры, которые в прикл.коде видны как аут-параметры процедур.
например. (во всяком случае я использовал такой способ н-времени назад).
да, и для оракла вот такой же удобной штуки, как SSMS, в моем понимании нет.
есть там всякие тоады, эскульдевелоперы и т.д., но все они гораздо неудобнее SSMS, и ваще весчи в себе, как и сам оракл)).
Здравствуйте, yenik, Вы писали:
BE>>Может нужно просто уметь его готовить? В чем проблема?
Y>Воистину нужно. Вот на TSQL (код практической ценности не имеет, чисто для примера): Y>
Y>DECLARE @n AS INT = 1
Y>SELECT * FROM t1
Y>BEGIN TRAN
Y>INSERT t1 VALUES(@n)
Y>SELECT * FROM t1
Y>ROLLBACK
Y>
Y>Выводятся в SSMS два табличных результата. Как это сделать на postgresql?
Сообщение 208, уровень 16, состояние 1, строка 2
Invalid object name 't1'.
Время выполнения: 2023-07-25T13:28:25.7570918+03:00
Здравствуйте, nikkit, Вы писали:
N>помнится, в бородатый год, после интербейза переходил на транзакт. просто взял и начал писать. все было в кайф. все логично, все понятно и предсказуемо. ровно так, как и должно быть. без лишних телодвижений.
Наверное проще использовать Linq2DB
и солнце б утром не вставало, когда бы не было меня
N>помнится, в бородатый год, после интербейза переходил на транзакт. просто взял и начал писать. все было в кайф. все логично, все понятно и предсказуемо. ровно так, как и должно быть. без лишних телодвижений.
угу, а потом они тебя выгнали и наняли человека который не станет вот так просто писать, а сначала подумает стоит ли так писать, ведь мсскл по дефолту блокировочник, интербейз версионник.
Gt_>угу, а потом они тебя выгнали и наняли человека который не станет вот так просто писать, а сначала подумает стоит ли так писать, ведь мсскл по дефолту блокировочник, интербейз версионник.
Gt_>Gt_
насчет интербейза не знаю не помню. в мсскл зачем блокировать, если можно не блокировать? че за бред?
I>Не работал с постгре, зато работал с ораклом. I>Вопрос, видимо про "получить два табличных результата" в прикладном коде(?) I>Если так, то в оракле доступ к результирующим рекордсетам происходит через именованные курсоры, которые в прикл.коде видны как аут-параметры процедур. I>например. (во всяком случае я использовал такой способ н-времени назад).
I>п.с. похоже интернет говорит примерно тоже про постгре: I> https://stackoverflow.com/questions/32862416/how-can-i-get-cursor-data-with-calling-stored-procedure-in-npgsql
ага, я тоже в итоге курсоры использовал, чтобы результат из процедуры вернуть.
begin;
set TRANSACTION ISOLATION LEVEL serializable;
do language plpgsql
$$
DECLARE
_crsr1 refcursor = '__crsr1';
begin
INSERT INTO ....;
open _crsr1 for SELECT ....;
end;
$$;
fetch all from __crsr1;
commit;
N>насчет интербейза не знаю не помню. в мсскл зачем блокировать, если можно не блокировать? че за бред?
ты наверно очень красивая. не забивай головку базовыми вещами типа версионность, блокировочники. продолжай писать ни о чем не думая, о разнице в подходах подумают те кто на порядок больше твоего получают.