Выполнение поиска в базе данных в выражении форматирования - PullRequest
1 голос
/ 14 февраля 2011

Там, где написано "blob_curr = 1", мне нужно проверить, существует ли идентификатор объекта в другой таблице.Я понятия не имею, как это сделать.Это приложение, которое было написано несколько лет назад, и я учусь в кооперативе, и меня попросили внести в него некоторые изменения, поэтому я очень ограниченно знаю эту среду.Это Powerbuilder 9.0, если это поможет.

image description

1 Ответ

1 голос
/ 14 февраля 2011

У вас есть два варианта:

1) Вы можете обновить свой запрос в окне данных, добавив в него дополнительное поле, которое возвращает информацию о том, существует ли элемент в другой таблице (скалярный подзапрос приходит на ум в зависимости от используемой базы данных). Тогда ваше выражение окна данных просто проверяет этот столбец - это предпочтительное решение

2) В выражении окна данных вы также можете вызывать созданные вами глобальные пользовательские функции. Таким образом, вы должны создать новую функцию (File-> New-> PB Object Tab-> Function), которая принимает идентификатор в качестве входящего аргумента, выполняет поиск в другой таблице и затем возвращает результат. Затем в выражении окна данных вы можете напрямую вызвать эту функцию, чтобы проверить, существует ли она в этой таблице.

Первый подход, вероятно, будет наиболее эффективным с точки зрения базы данных.

...