powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите упростить код
10 сообщений из 10, страница 1 из 1
Помогите упростить код
    #38619556
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
DELIMITER //

create procedure delete_reply_record( param int )
begin
declare fk  int;
declare cnt int;

/* Получаем внешний ключ */
select distinct
    id_test_fk
into fk from
    dbschool.reply
where
    reply.id_reply_pk = param;

/* Удаляем запись */
delete from dbschool.reply where reply.id_reply_pk = param;
 
/* Получаем количество оставшихся записей */
select 
    count(*)
into cnt from
    dbschool.reply
where
    reply.id_test_fk = fk;

/*Удаляем или обновляем*/
if cnt = 0 then 
    delete from dbschool.tests where tests.id_test_pk = fk;
else
    update dbschool.tests set count_reply=cnt where id_test_pk = fk;
end if;
    
end; //
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619619
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

а чем не нравится?
судя по названиям, быстродействие не критично, хорошая наглядночть.
если только поизвращаться, для опыта....
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619621
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323
Код: plsql
1.
2.
3.
4.
5.
6.
select distinct
    id_test_fk
into fk from
    dbschool.reply
where
    reply.id_reply_pk = param;

А если записей будет больше, чем одна?
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619625
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

все ок. работает нормально. тестировал долго.
нужно получить лишь одно значение.
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619626
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323miksoft,

все ок. работает нормально. тестировал долго.
нужно получить лишь одно значение.тестирование тут роли не играет, тут в логике сомнения.
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619637
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

мы убираем все повторные внешние ключи и у нас остается только один, он нам и нужен.
А если его не будет ничего страшного.
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619645
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323у нас остается только одинвот в этом-то и нет уверенности.
Если поле id_test_fk имеет всегда ровно одно значение для каждого конкретного поля id_reply_pk, то непонятен смысл существования сразу двух полей.
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619647
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

id_test_fk указывает на другую базы. id_reply_pk - текущей базы из которой будет происходить удаление.
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619648
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

и id_test_fk не всегда имеет одно и тоже значение.
...
Рейтинг: 0 / 0
Помогите упростить код
    #38619662
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323и id_test_fk не всегда имеет одно и тоже значение.Тогда этот запрос однажды выдаст несколько записей и приведет к ошибке.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите упростить код
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]