Перечень статей   Терминология   Choose language


Сокращенная запись для 'from' и 'where'


В тех случаях, когда поля двух таблиц связаны внешним ключом (foreign key), а заполняя базу данных, пользователь заносит в связанные поля одинаковые значения, появляется возможность использовать XPath для сокращения громоздких выражений, например

с XPath без XPath
where a/b/c/d/@d3=k/l/m/n/@n2;
where a.uk=b.fk and
      b.uk=c.fk and
      c.uk=d.fk
and
      k.uk=l.fk and
      l.uk=m.fk and
      m.uk=n.fk
and
      d.d3=n.n2;
Причем предлагаю разрешить использование XPath также после служебных слов 'select' и 'from', т.к. в паре ниже запрос слева выглядит намного лучше запрос справа.
select d/e/f/@f3
from   a/b/c
where  p/q/r/@r2=5;
select f3
from   a/b/c/d/e/f
where  ../../../p/q/r/@r2=5;
А также после служебных слов 'insert, update, delete'
insert into d/e/f/tab (fld)
values (5);
insert into a/b/c/@c1/d/e/f (fld)
values (5);
insert into a/b/c/@c1/d/e/tab
values ('<tag>...</tag>');
update d/e/f/tab
set @fld=5;
update d/e/f/tab
set @fld/p/q/r/@r1=5;
update a/b/c/@c1/d/e/f
set @fld=5;
delete from a/b/c/n;


Тюрин Дмитрий



Перечень статей   Терминология   Choose language