Иллюстрированный самоучитель по PostgreSQL

Включение внешних источников данных

Присваивание значений объектным переменным 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>
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.