powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Помогите с процедурой
4 сообщений из 4, страница 1 из 1
Помогите с процедурой
    #33771486
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите плз, из-за чего возникает такая ошибка(сори за такие вопросы, sql только изучаю):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
ALTER PROCEDURE "rs"."Customer_Select" (
//Тип
IN cCustomerTipName char( 10 ) default null //Тип клиента (по умолчанию частное лицо)
)
BEGIN
   SELECT "ASAadministrator"."Customers".ID_Customer 
   FROM "ASAadministrator"."Customers"
   WHERE
     //Тип
     (
         "ASAadministrator"."Customers"."FK_CustomerTip" = (SELECT "ASAadministrator"."Customer_Tip".ID_CustomerTip
                                                              FROM "ASAadministrator"."Customer_Tip"
                                                             WHERE ("ASAadministrator"."Customer_Tip".CustomerTipName LIKE cCustomerTipName) 
                                                                OR (cCustomerTipName IS NULL)
                                                           )
     )
END
...
Рейтинг: 0 / 0
Помогите с процедурой
    #33771490
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой блин, картинка великовата =)
...
Рейтинг: 0 / 0
Помогите с процедурой
    #33771516
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7Подскажите плз, из-за чего возникает такая ошибка(сори за такие вопросы, sql только изучаю):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
ALTER PROCEDURE "rs"."Customer_Select" (
//Тип
IN cCustomerTipName char( 10 ) default null //Тип клиента (по умолчанию частное лицо)
)
BEGIN
   SELECT "ASAadministrator"."Customers".ID_Customer 
   FROM "ASAadministrator"."Customers"
   WHERE
     //Тип
     (
         "ASAadministrator"."Customers"."FK_CustomerTip" = (SELECT "ASAadministrator"."Customer_Tip".ID_CustomerTip
                                                              FROM "ASAadministrator"."Customer_Tip"
                                                             WHERE ("ASAadministrator"."Customer_Tip".CustomerTipName LIKE cCustomerTipName) 
                                                                OR (cCustomerTipName IS NULL)
                                                           )
     )
END


под-запрос вернул больше одной строки
Нужно
1. проверить логику;
2. добавить TOP 1 и ORDER;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
ALTER PROCEDURE "rs"."Customer_Select" (
//Тип
IN cCustomerTipName char( 10 ) default null //Тип клиента (по умолчанию частное лицо)
)
BEGIN
   SELECT "ASAadministrator"."Customers".ID_Customer 
   FROM "ASAadministrator"."Customers"
   WHERE
     //Тип
     (
         "ASAadministrator"."Customers"."FK_CustomerTip" = (SELECT TOP  1  "ASAadministrator"."Customer_Tip".ID_CustomerTip
                                                              FROM "ASAadministrator"."Customer_Tip"
                                                             WHERE ("ASAadministrator"."Customer_Tip".CustomerTipName LIKE cCustomerTipName) 
                                                                OR (cCustomerTipName IS NULL)
                                                                  ORDER BY smth
                                                           )
     )
END
...
Рейтинг: 0 / 0
Помогите с процедурой
    #33772125
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка в логике, изменил "=" на "in" и все стало работать, всем спасибо
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Помогите с процедурой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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