powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / SQL: Как запретить проверять "лишние" условия?
3 сообщений из 3, страница 1 из 1
SQL: Как запретить проверять "лишние" условия?
    #36958670
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос вида
Код: plaintext
SELECT TOP  1  ID FROM AnyTable WHERE AnyTable_Check1()= 1  AND AnyTable_Check2()= 1  AND ... AnyTable_CheckN()= 1 
где
Код: plaintext
1.
2.
3.
4.
5.
ClassMethod Check_N() As %String [ SqlProc ]
{
	s ^test("check_N") = $g(^test("check_N"))+ 1 
	q  0 
}
Легко убедиться, что всегда выполняются все 3 процедуры...
Можно ли, и как сделать, чтобы выполнялась только 1-я? (как заменить & на && в терминах COS?)
...
Рейтинг: 0 / 0
SQL: Как запретить проверять "лишние" условия?
    #36958914
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolesov , как вариант сделать таки одну процедуру - пусть она все и проверит...
...
Рейтинг: 0 / 0
SQL: Как запретить проверять "лишние" условия?
    #36968028
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolesov ,

Можно уменьшить количество лишних вызовов, например, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Class del.test Extends %Persistent
{

ClassMethod Check1() As %Boolean [ SqlProc ]
{
  s ^test("check_1") = $g(^test("check_1"))+ 1 
  q $$$YES
}

ClassMethod Check2() As %Boolean [ SqlProc ]
{
  s ^test("check_2") = $g(^test("check_2"))+ 1 
  q ""
}

ClassMethod Check3() As %Boolean [ SqlProc ]
{
  s ^test("check_3") = $g(^test("check_3"))+ 1 
  q ""
}

}
Код: plaintext
select coalesce(del.test_check1(),del.test_check2(),del.test_check3())
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / SQL: Как запретить проверять "лишние" условия?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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