Включение внешних источников данных
Присваивание значений объектным переменным SQL
Если запрос SQL должен выполняться только для получения доступа к итоговому набору (в обход автоматического перебора в теге <include>), передайте атрибут setvars с именем объекта LXP, заполняемого информацией о результатах запроса, и немедленно закройте блок парным тегом </include>.
Если итоговый набор состоит из одной записи, для каждого поля этой записи создается переменная объект.поле, где объект – имя объекта, указанное в атрибуте servars, а поле – имя поля, возвращаемого запросом.
Если итоговый набор содержит более одной записи, к имени поля присоединяются квадратные скобки с индексом (например, object, col umn[0], object, col umn[l] и т. д.).
В листинге 13.30 выполняется запрос к таблице pg_user с выборкой трех полей, содержащей информацию о конкретном пользователе.
Листинг 13.30. Заполнение объекта LXP результатами выборки.
<lхр> <include sql="SELECT usenarne .usesuper .usecreatedb FROM pg_user WHERE usesysid = Suserid" setvars="usennfo"></include> <if sql,numrows="l"> User name: <putvar name="usennfo.usename"><br /> <if userinfo.usecreatedb-'t'> <strong>This user can create databases.</strong><br /> </if> <if userinfo.usesuper='t'> <strong>Trns user is a superuser.</strong><br /> </if> </if> <else> Error: No user was found. </else> </lxp>