Предполагая, что столбец содержит ноль во всех строках, вы можете присоединиться к table_b
в a.column_a = b.pkid
:
update table_a a
set fkey = column_a
from table_b b
where a.column_a = b.pkid
или проверить в подзапросе, существует ли b.pkid
:
update table_a
set fkey = column_a
where exists (
select pkid
from table_b
where pkid = column_a)
[ 1110] Если вам нужно установить ноль в соответствующих строках, вы можете использовать exists
в case
:
update table_a
set fkey = (select case
when exists (
select pkid
from table_b
where pkid = column_a)
then column_a
end)
Я боюсь, что необходимо будет написать некоторый код, но это не должна быть больше чем дюжина строк или около этого. Функция, которую Вы захотите вызвать, является Проектом. RunHTMLReport () - быстрый поиск "RunHTMLReport" в справочном файле EA скажет Вам, в каких параметрах он нуждается, и поиск на форуме веб-сайта Sparx найдет Вас примером или два.
Спасибо шимпанзе, Это было легче, чем я думал. В Java:
class EADump
{
public static void main(String[] args)
{
org.sparx.Repository r = new org.sparx.Repository();
System.out.println("Repository: " + args[0]);
System.out.println("Package: " + args[1]);
System.out.println("Output: " + args[2]);
r.OpenFile(args[0]);
r.GetProjectInterface().RunHTMLReport(args[1], args[2], "GIF", "<default>", ".html");
r.CloseFile();
}
}