|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
Как удалить элемент из 2-мерного массива? Делал так, получил ошибку ERROR: removing elements from multidimensional arrays is not supported Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 15:16 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
Ролг Хупин, блин, не используйте многомерных арраев в пж никогда. есть unnest(array1,....arrayN) есть массивы типов этого достаточно не надо удалять элементы массивов -- оперируйте сетами. и фильтрами where / except / intersect на сетах. единственный недостаток сета -- чтобы передать надо упаковать в массив. на крайняк берите массив hstore / json ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 16:07 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwqРолг Хупин, блин, не используйте многомерных арраев в пж никогда. есть unnest(array1,....arrayN) есть массивы типов этого достаточно не надо удалять элементы массивов -- оперируйте сетами. и фильтрами where / except / intersect на сетах. единственный недостаток сета -- чтобы передать надо упаковать в массив. на крайняк берите массив hstore / json ясно, а я долбусь как раз с двумерным массивом, это п-ц.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 16:11 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
Ролг Хупин, и вообще не пишите на плпгскл как на приличном процедурном языке. вы удивитесь. сколько там накладных расходов. пишите с максимальным использованием встроенных в скл фичей. или на других процедурных языках. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 16:12 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
Ролг Хупин, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
но не надо так мелко кодить в плпгскл. не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 16:25 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwqРолг Хупин, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
но не надо так мелко кодить в плпгскл. не надо. хмм... я практически первый раз в большом городе (ц) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 16:27 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwqРолг Хупин, и вообще не пишите на плпгскл как на приличном процедурном языке. вы удивитесь. сколько там накладных расходов. пишите с максимальным использованием встроенных в скл фичей. или на других процедурных языках. Как джойнуть два массива? Создается двумерный массив целых, затем хотелось бы сделать выборку. джойнув самого с собой, типа такого Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
но в нем колонки не именованные... как? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 18:12 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
в jsonb именованные и там, собсно, как обычно: arr1[arr2['var1']] ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 19:25 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwqРолг Хупин, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
но не надо так мелко кодить в плпгскл. не надо. даже если в цикле не запускать? зы: Иван Фролков утверждает, что ф-я на PL/PGSQL окажется быстрее, чем ф-я в консоле на SQL-е. Ф-я конечно возвращает результат. Это будет заметно, если активно её использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 19:29 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
tip78зы: Иван Фролков утверждает, что ф-я на PL/PGSQL окажется быстрее, чем ф-я в консоле на SQL-е. Ф-я конечно возвращает результат. Это будет заметно, если активно её использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 19:39 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
Ролг Хупин Как джойнуть два массива? Создается двумерный массив целых но в нем колонки не именованные... как? мальчик , ты слепой ? 1. не создавать многомерных массивов. совсем. создайте 2 линейных. и попользуйте unnest как питоновский zip Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 21:35 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
2. создать свой тип и юзать одномерный массив своего типа. если лень создавать -- использовать прослойку из текста: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 21:38 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
3 если уж создал "иногомерную бяку" (туда можно положить хоть те что. за размерности "членов" отвечает кодер) -- доставать индексно ,в надежде, что крокодила не засунул. Код: 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.
ну и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 21:44 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
tip78, это свободная лабуда была или чёс? не надо нам этих невнятных чтецов показывать читать лекции это отдельное искусство. этому вот не дано. т.е. совсем. мысль должна акцентироваться. а хороший человек -- не профессия. зы: он с препаредом хоть сравнивался ?хехе я какбе так и не услышал акцента. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2018, 21:57 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwq, сорри, не понимаю птичий язык. лектор никакой, потому что многолетний опыт оптимизации промышленных запросов это "чёс". лекция говно, потому что отличается от вашего мнения. оK. аргументации выше крыши. принято. (вообще там даже я понял всё, что он сказал, но раз гуру сказал "невнятно", значит "лабуда") выкладывайте тогда свои "внятные" лекции, заценим ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 03:53 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
tip78qwwq, сорри, не понимаю птичий язык. лектор никакой, потому что многолетний опыт оптимизации промышленных запросов это "чёс". лекция говно, потому что отличается от вашего мнения. оK. аргументации выше крыши. принято. ( вообще там даже я понял всё , что он сказал, но раз гуру сказал "невнятно", значит "лабуда") выкладывайте тогда свои "внятные" лекции, заценим "ты не мудри, ты пальцем покажи" ели сможешь не растекаясь лабудой выразить понятую мысль -- она "там" есть но пока я вижу одного соплежуя за другим во всей этой геркулесовой лекционной каше под прикрытием сетевых лабутнангов с кашей во рту пишут на хабре они чуточку внятнее, это плюс уже профит тратить же время на бесмыслленное бормотание тривиальностей в камеру -- как нибудь без меня и таки повторю вопрос: этот пуп с горы во время платного чёса записан или от безделия дурью маялся ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 06:48 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwq3 если уж создал "иногомерную бяку" (туда можно положить хоть те что. за размерности "членов" отвечает кодер) -- доставать индексно ,в надежде, что крокодила не засунул. ну и т.п. Создал, но это исправимо, это всё попытки избежать временных таблиц, в T-SQL сдлано с @таблицей, вот я и колбашусь ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 09:19 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwq3 если уж создал "иногомерную бяку" (туда можно положить хоть те что. за размерности "членов" отвечает кодер) -- доставать индексно ,в надежде, что крокодила не засунул. Код: 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.
ну и т.п. как модифицировать элементы - такой вот гамлЕтовский вопрос встал ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 10:57 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
Ролг Хупинqwwq3 если уж создал "иногомерную бяку" (туда можно положить хоть те что. за размерности "членов" отвечает кодер) -- доставать индексно ,в надежде, что крокодила не засунул. ... ну и т.п. как модифицировать элементы - такой вот гамлЕтовский вопрос встал а как делали ? и что не получилось ? зы : "не использовать многомерных массивов в пж" -- понимает ли упоротствующий русский язык ? если да -- почему отлынивает -- " тут грабли, тут прыгай " ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 11:10 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwqРолг Хупинпропущено... как модифицировать элементы - такой вот гамлЕтовский вопрос встал а как делали ? и что не получилось ? зы : "не использовать многомерных массивов в пж" -- понимает ли упоротствующий русский язык ? если да -- почему отлынивает -- " тут грабли, тут прыгай " Понял, что не использовать, пытаюсь... Но для такой задачи с трудом получается, там итерации, в оригинале по временной таблице, ну, вот.... Нашел функцию, которая занимается удалением ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 13:11 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
Ролг Хупинqwwqпропущено... а как делали ? и что не получилось ? зы : "не использовать многомерных массивов в пж" -- понимает ли упоротствующий русский язык ? если да -- почему отлынивает -- " тут грабли, тут прыгай " Понял, что не использовать, пытаюсь... Но для такой задачи с трудом получается, там итерации, в оригинале по временной таблице, ну, вот.... Нашел функцию, которая занимается удалением ну и создайте свой тип с теми же полями. и берите массив типов. на крайняк можно так : Код: sql 1. 2. 3.
но задайтесь вопросом, что происходит с "массивом" в пж, когда меняется его "элемент" там всё печально, вообще то. по крайней мере когда я в последний раз что-то такое делал. попробуйте не "удалять". работайте с сетами и агрегируйте в концах "передачи" с фильтрованием -- сверьте времена. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 13:28 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
qwwqРолг Хупинпропущено... Понял, что не использовать, пытаюсь... Но для такой задачи с трудом получается, там итерации, в оригинале по временной таблице, ну, вот.... Нашел функцию, которая занимается удалением ну и создайте свой тип с теми же полями. и берите массив типов. на крайняк можно так : Код: sql 1. 2. 3.
но задайтесь вопросом, что происходит с "массивом" в пж, когда меняется его "элемент" там всё печально, вообще то. по крайней мере когда я в последний раз что-то такое делал. попробуйте не "удалять". работайте с сетами и агрегируйте в концах "передачи" с фильтрованием -- сверьте времена. Ясно, пересмотрю код, надежда на то, что массивы небольшие. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 15:06 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
Ролг Хупин, обещают в 11 что-ли "труЪ" процедурки. если это то, что я думаю, то или всё с массивами в т.ч. получшеет. или что-то уже могли протащить или это не то, что я подкмал ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 20:31 |
|
Удалить элемент массива?
|
|||
---|---|---|---|
#18+
тут потестил селекты в мультиэррай суть: у акта есть договор, а у договора есть клиент, и когда я запрашиваю клиента, то должен увидеть все записи с договорами И с актами а когда запрашиваю договор, то должен увидеть все его акты т.е. когда идёт INSERT, то у акта должны быть 2 записи: для договор + акт И клиент + акт 1 вариант - INNER JOIN, в одной таблице сами записи, в другой соответствия child_id,parent Код: sql 1.
2 вариант - всё в одной таблице и есть колонка с массивом: '{parent,parent,parent}' - перечисляются ВСЕ родаки на чей запрос надо показывать эту строку у массива индекс GIN Код: sql 1.
ИТОГ: одинаковый результат при этом для второго вара `id` не нужна и -1 лишний индекс и таблица ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2018, 17:00 |
|
|
start [/forum/topic.php?fid=53&msg=39632805&tid=1995735]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
110ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 20ms |
total: | 244ms |
0 / 0 |