INSERT INTO at_settingpos (
settingkey,
objectclass,
category,
objectname,
xid,
dbid,
objectorder,
withdetail,
needmodify,
autoadded
)
SELECT DISTINCT
p.settingkey,
'TgdcField',
'Домен',
f.FIELDNAME,
fr.xid,
fr.dbid,
1, /* домены должны располагаться перед полями */
0,
1,
0
FROM
at_settingpos p
JOIN gd_ruid pr
ON pr.xid = p.xid
AND pr.dbid = p.dbid
JOIN at_relation_fields rf
ON rf.id = pr.id
JOIN at_fields f
ON f.id = rf.FIELDSOURCEKEY
JOIN gd_ruid fr
ON fr.id = f.id
LEFT JOIN at_settingpos p2
ON p2.XID = fr.xid
AND p2.DBID = fr.dbid
/* если убрать это условие, то */
/* исключим домены, которые */
/* входят хотя бы в одну настр.*/
AND p2.settingkey = :SK
WHERE
f.fieldname LIKE 'USR$%'
AND
p.settingkey = :SK
AND
p2.id IS NULL
23 янв. 2013 г.
Автоматическое добавление доменов в настройку
Запрос автоматом добавляет в указанную настройку все домены, которые используются полями таблиц, входящими в эту настройку:
Комментариев нет:
Отправить комментарий