|
|
|
Процедура "Есть ли такое уже"
|
|||
|---|---|---|---|
|
#18+
Есть таблица: FIO id (int autoincrement ключевое поле) naim (varchar(100)) del (int(1)) - индикатор удаления (0 - НЕ удалён, 1 - удалён) Проблема: передать в процедуру ФИО человека и назад получить id и, если "удалён" - восстановить. Состояний - три: "нет", "есть и del = 0" и "есть, но del =1" Т.е. - Код: plsql 1. Результат: id записи, но если del = 1, тогда del = 0 Есть ли возможность организации такой процедуры одной строкой? Если нет - то вообще как? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2019, 08:40 |
|
||
|
Процедура "Есть ли такое уже"
|
|||
|---|---|---|---|
|
#18+
Не сильно понятно. Допустим, выполняем Код: sql 1. Вопрос 1. Что передаётся в rez? Вопрос 2. Что происходит (что выводится? что возвращается в rez? какие ещё действия выполняются?) в вариантах: Вариант 1. 'иванов иван иванович' - отсутствует в таблице. Вариант 2. 'иванов иван иванович' - имеется в таблице, и его del=0. Вариант 2. 'иванов иван иванович' - имеется в таблице, и его del=1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2019, 09:04 |
|
||
|
Процедура "Есть ли такое уже"
|
|||
|---|---|---|---|
|
#18+
Akina, rez - это возвращаемый id записи. Передаем процедуре "Иванов Иван Иванович". Если в таблице FIO такой записи нет - тогда добавляем и возвращаем id записи. Если в таблице FIO такая запись есть, но у неё del = 1 (т.е. "флажок" удаления поднят) - тогда меняем на del = 0 и возвращаем id записи. Если в таблице FIO такая запись есть и у неё del = 0 (т.е. "флажок" удаления опущен) - тогда просто возвращаем id записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2019, 09:20 |
|
||
|
Процедура "Есть ли такое уже"
|
|||
|---|---|---|---|
|
#18+
Ну будет нечто вроде Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Само собой предполагается наличие уникального индекса по FIO (naim) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2019, 09:57 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39896925&tid=1828836]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 389ms |

| 0 / 0 |

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