Filter Country Language info.txt

Материал из MstarProject Manual
Перейти к: навигация, поиск

SQL-скрипты для преобразования базы данных TecDoc в MySQL: могут фильтровать данные по заданной стране (с учётом применимости изделий по странам) и/или заданному языку.

Запускать их нужно как обычные SQL-запросы - например, через консольный клиент mysql (mysql.exe) или любой другой аналог. При этом должна быть выбрана какая-нибудь база данных (в параметрах запуска MySQL-клиента или SQL-командой "USE ИмяБазы;") - лучше всего выбрать конечную базу (в которую будут записываться данные). Порядок запуска скриптов должен соответствовать их номерам (в названиях файлов). Значения всех настроек задаются в начале каждого скрипта (команды "SET ...").


2-Filter_Country.sql фильтрует по стране базу, заданную значением @DB1, в базу, заданную значением @DB2

3-Filter_Language.sql фильтрует по языку таблицы внутри базы @DB1, используя @DB2 только для временных таблиц

Учтите, что при фильтровании по языку кроме выбранного языка, сохраняются также все данные, относящиеся к так называемому "универсальному языку" (с кодом 255), т.к. многие данные в Текдоке относятся сразу ко всем языкам. Поэтому удалять поля *_LNG_ID из таблиц крайне нежелательно - иначе в некоторых таблицах будет дублирующаяся информация (на 2 разных языках), из которой выбрать подходящую по полю *_LNG_ID уже не удастся.

Примеры использования:

1. Только удалить поля *_CTM во всех таблицах, не фильтруя по ним сами данные:

2-Filter_Country.sql:

@COLUMN_FILTER = '_CTM';
@ROW_FILTER = FALSE;


2. Удалить поля *_CTM и отфильтровать все данные по странам бывшего СССР: 2-Filter_Country.sql:

@COU_ID = 204;
@COLUMN_FILTER = '_CTM';
@ROW_FILTER = TRUE;


3. Удалить поля *_CTM, но оставить поля *_LNG_ID, отфильтровать все данные по Европе и немецкому языку: 2-Filter_Country.sql:

@COU_ID = 248;
@COLUMN_FILTER = '_CTM';
@ROW_FILTER = TRUE;
3-Filter_Language.sql:
@LNG_ID = 1;
@COLUMN_FILTER = NULL;
@ROW_FILTER = TRUE;