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 г.
Автоматическое добавление доменов в настройку
Запрос автоматом добавляет в указанную настройку все домены, которые используются полями таблиц, входящими в эту настройку:
Комментариев нет:
Отправить комментарий