|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
|
Удалить элемент с массива05.02.2013, 01:08. Показов 13737. Ответов 22
Метки нет (Все метки)
0
|
|
| 05.02.2013, 01:08 | |
|
Ответы с готовыми решениями:
22
Удалить первый отрицательный элемент массива, если такой элемент есть
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 05.02.2013, 13:20 | |
|
Пока не знаю как связать ваш вопрос с postgres?
Имеется в виду, что у вас тип данных массив и нужно изменить его, удалив что-то? Такая операция делается созданием нового массива. Прямой функции удаления я что-то не припомню (http://www.postgresql.org/docs... array.html) Вообще в теории, такой абстрактный тип данных как массив по умолчанию не предполагает иметь операцию добавления или удаления элемента. Такой вид операций больше присущ спискам.
0
|
|
|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
|
| 05.02.2013, 21:48 [ТС] | |
|
Плохо что нет такого метода.
P.S. Вопрос поняли правильно.
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 06.02.2013, 15:32 | |
|
рассмотрите вариант представления массива отдельной таблицей.
общепринятая практика, но тоже есть свои недостатки
0
|
|
|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
|
| 06.02.2013, 21:58 [ТС] | |
|
Это что на каждое поле создавать таблицу?
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|||||||||||
| 08.02.2013, 00:01 | |||||||||||
|
нет. примерно так...
пусть есть таблица
В итоге можем получить следующее:
в результате запросы: * на добавление в массив: найти максимальный индекс, прибавить 1, записать значение в массив * на удаление из массив: запомнить удаляемый индекс, заменить его значение на 0, уменьшить на единицу все другие индексы, которые больше запомненного В приницпе эти операции можно реализовать тригерами для таблицы array.
0
|
|||||||||||
|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
|
| 10.02.2013, 23:12 [ТС] | |
|
Не совсем понятно всей идеи. У меня есть три таблицы tbl_films, tbl_genres и tbl_relations в таблице tbl_relations есть три поля id, genre_id int[], film_id int. И все вроде хорошо до момента когда удаляется в таблице tbl_genres запись, нужен запрос для обновления массива. Все операции insert, update, select все отлично устраивает.
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
||||||||||||||||
| 12.02.2013, 15:49 | ||||||||||||||||
|
Ошибся я в ограничениях, извиняюсь. Так правильнее
Была таблица с полем массив строк
описывающую этот же экземпляр (внешний ключ) сущности с доп. полями индекса и значения строки аналогично массиву
Не очень понятно зачем тут массив в принципе, если его можно заменить простой таблицей как ниже. Каскадность ограничений автоматически будет удалять (обновлять) зависимые записи.
0
|
||||||||||||||||
|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
|||||||||||
| 13.02.2013, 00:39 [ТС] | |||||||||||
|
А чем плохо использовать массив? Удобно собрать строку определить ее в массив и сохранить
0
|
|||||||||||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 13.02.2013, 20:18 | |
|
Массив плох тем, что имеет нереляционную "природу".
Нету прямых SQL-операций для работы с ним, только написание каких-нибудь "примочек". Поэтому и удобнее рассматривать различные варианты представления массива в реляционном виде - через сущности и связи (таблицы и ограничения). Выбор формы представления зависит от задачи.
0
|
|
|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
|
| 13.02.2013, 23:45 [ТС] | |
|
А для чего тогда был придуман массив в postgresql?
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 14.02.2013, 20:08 | |
|
Бывают случаи, когда и они нужны. Чаще всего для таблиц-результатов хранения аналитических отчетов.
Там, итоги... подитоги всякие, чтобы не надо было доп. подзапросы составлять для выборки клиенту. Во всяком случае, я больше не знаю разумного применения.
0
|
|
|
2891 / 1926 / 208
Регистрация: 05.06.2011
Сообщений: 5,638
|
||
| 15.02.2013, 15:58 | ||
|
0
|
||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|||||||||||||||||||||||||||
| 16.02.2013, 15:10 | |||||||||||||||||||||||||||
![]() Вот пример использования. Дана таблица
1
|
|||||||||||||||||||||||||||
|
2891 / 1926 / 208
Регистрация: 05.06.2011
Сообщений: 5,638
|
||
| 16.02.2013, 15:36 | ||
|
Не по теме: Спасибо, что перевёл мои слова на язык человеков и Постгреса. Какой же я, оказывается, лаконичный! ;)
0
|
||
|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
||||||
| 19.02.2013, 00:13 [ТС] | ||||||
|
Спасибо за примеры. Функция для удаления элемента массива вот вариант более простой
0
|
||||||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|||
| 19.02.2013, 14:28 | |||
|
См. описание и примеры здесь.
0
|
|||
|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
||
| 26.02.2013, 01:59 [ТС] | ||
|
0
|
||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 26.02.2013, 14:45 | |
|
update используется для изменения значений существующих записей в таблицах
Добавлено через 31 минуту документацию пробовали прочитать? что там объяснять - не знаю... все понятно
0
|
|
|
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
|
||||||
| 26.02.2013, 22:11 [ТС] | ||||||
|
Я знаю для чего Update и как его используют, вопрос как он здесь работает
0
|
||||||
| 26.02.2013, 22:11 | |
|
Помогаю со студенческими работами здесь
20
Удалить первый нулевой элемент массива и добавить после каждого чётного элемента особый элемент
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|