| 
 | 
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Блиа чота не дорубаю нихуя. Есть справочник raw_md.asset_types иерархический, мне нужны только листовые нижние значения их в районе 15, но может со временем меняться, и нужны коды. Есть таблица public.nums числовой с последовательностью от 1 до 1млн - для множения. Нужно заполнить таблицу raw_md.assets(type_code) случайными значениями некое количество раз - это количество задается в asset_count. Ну нахуячил запрос - который работает - просто селект: Спойлер Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 1 - как бл сделать вставку в таблицу этого говна? ну то есть коментарий перед insert разкомичиваю и пиздарики: SQL Error [42601]: ERROR: syntax error at or near "select"
  Позиция: 322
Позиция ошибки: line: 38 pos: 321 2 - как это говно обернуть в процедуру? здесь чота вообще сломался - если language plpgsql одна ошибка, если language sql - другая ошибкав общем такой код не хочет работать: Спойлер Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. SQL Error [42601]: ERROR: syntax error at or near "select"
  Позиция: 435
Позиция ошибки: line: 35 pos: 434 я понимаю что чота где то на поверхности, может примеры есть каких нибудь процедур которые чота вставляют используют параметры и переменные? в гугле особо нихера не нашел рабочего....  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 15:15 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  
аааа бл ))))) да ща. уже думал курсор цикл городить поэтому валуэс и появился ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 15:18 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|
|---|---|
| 
 #18+ 
    
  
Всё получилось, еще был вопрос по параметру - убрал двоеточие и взлетело. Спасибо ...  | 
|
| 
 : 
 | 
|
| 28.09.2022, 15:19 | 
  
  
  
   | 
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  
Ну я процедуры только осваиваю - это вторая процедура. 1я взлетела в таком виде))))) Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. хотел добавить параметр doVacuum boolean и добавить код в конце if (doVacuum) vacuum; но чота пошло не так - плюнул на это. Но тоже интересно конструкцию if else в процедуры же полюбому можно пихать? а vacuum? тоже без if даже отказалась компилироваться... может действительно нужно юзать language plpgsql? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 15:23 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Верно, if else в sql нет, а в plpgsql - есть ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 15:33 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
    
           
    
    #166695
     
![]() Ссылка: 
    Ссылка на сообщение: 
    Ссылка с названием темы: 
    Ссылка на профиль пользователя: 
    Ссылка на вложение: 
     | 
||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 
 #18+ 
    
  Щас при выполнении количество вынес в отдельную переменную, убрал подзапрос. не знаю как использовать в запросе значение переменной объявленной выше ...  | 
||||||||||||||||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
||||||||||||||||
| 28.09.2022, 15:43 | 
  
  
  
   | 
|||||||||||||||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  
ну ёпт. Скажу за оракл Когда пишешь нивъебенный селект бывает иногда Проще зажать выборку по функции Pipe line которая хитро генерит набор значений для where x in ( select id from f(a) ) Процедуры когда логика на сервере. А как иначе? пихать в тригера шоп всё тормозилло? проще с клиента на сервере дернуть процедуру ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 15:57 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|
|---|---|
| 
 #18+ 
    
  Какие нахуй процедуры в постгре?! Папых совсем ебанулся! Все со своим монолитным подходом! Изучай и пиши микросервисы, сука! Процедуры - тоже не нужно пихать куда ни попадя, но в своей нише они полезны. Простой пример: пусть у нас есть некое преобразование данных (ну, например, преобразование каких-нибудь координат из одной системы в другую), и есть какие-то запросы к базе, где результат этого преобразования используется (например, сравнивается с каким-то другим полем таблицы внутри условия WHERE). Вопрос - где будем программировать код для этого преобразования данных? Можно, конечно, это сделать в своем приложении, можно даже завернуть внутрь ORM, можно при желании даже сделать микросервисом - но тогда приложение с такой логикой получится монструозное и, возможно, тормозное. А вот если это преобразование данных сделать процедурой, и в других запросах эту процедуру вызывать - все получится легко и просто. ...  | 
|
| 
 : 
 | 
|
| 28.09.2022, 16:13 | 
  
  
  
   | 
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Какие нахуй процедуры в постгре?! Папых совсем ебанулся! Все со своим монолитным подходом! Изучай и пиши микросервисы, сука! Процедуры - тоже не нужно пихать куда ни попадя, но в своей нише они полезны. Простой пример: пусть у нас есть некое преобразование данных (ну, например, преобразование каких-нибудь координат из одной системы в другую), и есть какие-то запросы к базе, где результат этого преобразования используется (например, сравнивается с каким-то другим полем таблицы внутри условия WHERE). Вопрос - где будем программировать код для этого преобразования данных? Можно, конечно, это сделать в своем приложении, можно даже завернуть внутрь ORM, можно при желании даже сделать микросервисом - но тогда приложение с такой логикой получится монструозное и, возможно, тормозное. А вот если это преобразование данных сделать процедурой, и в других запросах эту процедуру вызывать - все получится легко и просто. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 16:15 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Какие нахуй процедуры в постгре?! Папых совсем ебанулся! Все со своим монолитным подходом! Изучай и пиши микросервисы, сука! Процедуры - тоже не нужно пихать куда ни попадя, но в своей нише они полезны. Простой пример: пусть у нас есть некое преобразование данных (ну, например, преобразование каких-нибудь координат из одной системы в другую), и есть какие-то запросы к базе, где результат этого преобразования используется (например, сравнивается с каким-то другим полем таблицы внутри условия WHERE). Вопрос - где будем программировать код для этого преобразования данных? Можно, конечно, это сделать в своем приложении, можно даже завернуть внутрь ORM, можно при желании даже сделать микросервисом - но тогда приложение с такой логикой получится монструозное и, возможно, тормозное. А вот если это преобразование данных сделать процедурой, и в других запросах эту процедуру вызывать - все получится легко и просто. Пытаться хранить внагрузку к основным хранимым данных кучу предвычисленных результатов разных преобразований - так себе решение, тоже не всегда будет удачным. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 16:26 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  
Смысл, например упаковать все готовые функции в одно место и забыть. ...  | 
|||
| 
 С уважением, КѢдра МiтрейЪ. 
: 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:11 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Блиа чота не дорубаю нихуя. Есть справочник raw_md.asset_types иерархический, мне нужны только листовые нижние значения их в районе 15, но может со временем меняться, и нужны коды. Есть таблица public.nums числовой с последовательностью от 1 до 1млн - для множения. Нужно заполнить таблицу raw_md.assets(type_code) случайными значениями некое количество раз - это количество задается в asset_count. Ну нахуячил запрос - который работает - просто селект: Спойлер Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 1 - как бл сделать вставку в таблицу этого говна? ну то есть коментарий перед insert разкомичиваю и пиздарики: SQL Error [42601]: ERROR: syntax error at or near "select"
  Позиция: 322
Позиция ошибки: line: 38 pos: 321 2 - как это говно обернуть в процедуру? здесь чота вообще сломался - если language plpgsql одна ошибка, если language sql - другая ошибкав общем такой код не хочет работать: Спойлер Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. SQL Error [42601]: ERROR: syntax error at or near "select"
  Позиция: 435
Позиция ошибки: line: 35 pos: 434 я понимаю что чота где то на поверхности, может примеры есть каких нибудь процедур которые чота вставляют используют параметры и переменные? в гугле особо нихера не нашел рабочего....  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:16 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Да, завернули прикладную функцию в хранимку и вынесли её на CPU БД. Теперь, чтобы отмасштабировать приложение, надо добавлять ядра к целой БД. А если там ещё какой-то гавноотчёт считается - админов привлекать, чтобы нагрузку разделили? В итоге - эксплуатация - дороже. Масштабирование - дороже. Особенно, если БД лицензионная, где, чтобы процессор добавить надо ядро покупать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:17 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Блиа чота не дорубаю нихуя. Есть справочник raw_md.asset_types иерархический, мне нужны только листовые нижние значения их в районе 15, но может со временем меняться, и нужны коды. Есть таблица public.nums числовой с последовательностью от 1 до 1млн - для множения. Нужно заполнить таблицу raw_md.assets(type_code) случайными значениями некое количество раз - это количество задается в asset_count. Ну нахуячил запрос - который работает - просто селект: Спойлер Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 1 - как бл сделать вставку в таблицу этого говна? ну то есть коментарий перед insert разкомичиваю и пиздарики: SQL Error [42601]: ERROR: syntax error at or near "select"
  Позиция: 322
Позиция ошибки: line: 38 pos: 321 2 - как это говно обернуть в процедуру? здесь чота вообще сломался - если language plpgsql одна ошибка, если language sql - другая ошибкав общем такой код не хочет работать: Спойлер Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. SQL Error [42601]: ERROR: syntax error at or near "select"
  Позиция: 435
Позиция ошибки: line: 35 pos: 434 я понимаю что чота где то на поверхности, может примеры есть каких нибудь процедур которые чота вставляют используют параметры и переменные? в гугле особо нихера не нашел рабочего....  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:24 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Я потом стал умный и стал пейсать движки СУБД, для меня пейсатели хранимок стали быдлом и юзерами. Я на них сру, сидя на фонаре ночью. Ну и какбэ я пришёл к тому, что сраные базоёбы не нужны в мире, где дохуя денег. Если они где-то в этом мире ещё остались, значит кое-кто успешно наёбывает менеджмент на просёр денег на свои бессмысленные зарплаты и на лишние сервера - молодцы, хули. Если у тебя достаточно серьёзный бузинесс и кучи данных, то тебе легче нахуярить на C++ прямо сразу бинарник который всё хранит и процессит в том виде, в котором оптимально по железу. ...  | 
|||
| 
 : 
Изменено: 28.09.2022, 18:26 - letrovada 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:25 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Это в каком виде? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:35 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Это в каком виде? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:36 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Ну вот, например, хвостовая рекурсия в C++ для 64-битных аргументов будет работать или нет? А для 128-битных? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:37 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Какие нахуй процедуры в постгре?! Папых совсем ебанулся! Все со своим монолитным подходом! Изучай и пиши микросервисы, сука! Процедуры - тоже не нужно пихать куда ни попадя, но в своей нише они полезны. Простой пример: пусть у нас есть некое преобразование данных (ну, например, преобразование каких-нибудь координат из одной системы в другую), и есть какие-то запросы к базе, где результат этого преобразования используется (например, сравнивается с каким-то другим полем таблицы внутри условия WHERE). Вопрос - где будем программировать код для этого преобразования данных? Можно, конечно, это сделать в своем приложении, можно даже завернуть внутрь ORM, можно при желании даже сделать микросервисом - но тогда приложение с такой логикой получится монструозное и, возможно, тормозное. А вот если это преобразование данных сделать процедурой, и в других запросах эту процедуру вызывать - все получится легко и просто. И чо? под этот тест микросервис писать? ну пишу процедуру - заполнения мусорными данными ряда таблиц, после несколько типовых селектов с замером скорости. так вот что бы не вспоминать что почистить до что после что сначала добавить что позже - проще нарисовать именно для этой задачи хранимку - заполнение данными (количество_таб1, количество_таб2). ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:38 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Ну вот, например, хвостовая рекурсия в C++ для 64-битных аргументов будет работать или нет? А для 128-битных? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:47 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Хвостовая, ебловая, какая хочешь за твои деньги. Любой нахуй битности там хуитности ска дон. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:48 | 
  
  
  
   | 
||
| 
 
Кто писал процедуры на постгрес? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Ну вот, например, хвостовая рекурсия в C++ для 64-битных аргументов будет работать или нет? А для 128-битных? ...  | 
|||
| 
 деревья умирают стоя 
: 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.09.2022, 18:49 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=8&msg=166997&tid=4880]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    10ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    28ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    111ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 28ms | 
| total: | 210ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...