Входные параметры:
Название | Объект | Тип значения в базе | Комментарий |
Поле таблицы | Поле | nvarchar(50) | Имя проверяемого поля. |
15.3.28. Проверка справочников источника
Позволяет остановить загрузку и выдать сообщение об ошибке, если в справочнике источника не содержится идентификатор, указанный в таблице с данными. Для этого справочник также должен быть заведен в качестве временной таблицы.
Входные параметры:
Название | Объект | Тип значения в базе | Комментарий |
Поле таблицы с цифрами | Поле | nvarchar(50) | Поле контекстной таблицы (с цифрами) |
Имя таблицы-справочника | – | nvarchar(256) | Имя таблицы-справочника (временной таблицы) |
Поле таблицы-справочника | Поле | nvarchar(50) | Поле таблицы-справочника, содержащее проверяемые идентификаторы |
15.3.29. Сравнение значений 2-х параметров
Позволяет остановить загрузку и выдать сообщение об ошибке, если два указанных значения не равны.
Входные параметры:
Название | Объект | Тип значения в базе | Комментарий |
Параметр1 | – | sql_variant | Параметр или константа |
Параметр2 | – | sql_variant | Параметр или константа |
Комментарий | – | nvarchar(256) | Комментарий |
Можно посчитать, например, количество записей, не удовлетворяющих какому-либо условию, присвоить это значение параметру и затем сравнить его с нулем. Если значение не равно нулю, будет выдана ошибка, содержащая текст «Комментария» и загрузка остановится.
15.4. Часто используемые функции Transact-SQL
Нвзвание | Описание |
ЛОГИЧЕСКИЕ | |
… AND … | Логическое «И» |
… OR … | Логическое «ИЛИ» |
A IN (B1,B2, B3, …) | Вхождение A в список значений (B1, …) |
… IS NULL | Проверка на значение «NULL» |
IsNULL(A, B) | Если A равно NULL, то подставляется B, иначе подставляется A |
CASE WHEN C THEN A ELSE B END | Условие «Если – то – Иначе» Если C - Истина, то берется A, иначе - B |
КОНВЕРТАЦИЯ ТИПА | |
CAST(A AS C) | Преобразование значения A в тип <C> |
CONVERT(C, A, F) | Преобразование значения A в тип <C> , формат конвертации даты <F>. |
МАТЕМАТИЧЕСКИЕ | |
ABS(X) | Модуль числа X |
ROUND(X, n) | Округление числа X до n знаков после запятой (n может быть отрицательным) |
СТРОКОВЫЕ | |
LEFT(S, n) | Взять n символов из левой часть строки S |
RIGHT(S, n) | Взять n символов из правой часть строки S |
LTRIM(S) | Удалить лидирующие пробелы из S |
RTRIM(S) | Удалить пробелы в «хвосте» строки S |
REPLACE(S, A,B) | Строка S, в которой подстрока A заменена подстрокой B |
SUBSTRING(S, n, m) | Часть строки S – m символов, начиная с n-го |
ДАТА/ВРЕМЯ | |
Day() | День (от 1 до 31) |
Month() | Месяц (от 1 до 12) |
Year() | Год |
15.4.1. Типы данных Transact-SQL
В языке T-SQL существует большое количество типов данных, но при загрузке достаточно знания только нескольких из них. Здесь описаны только те, которые реально используются в процессе импорта:
Тип | Описание |
Smallint | Целое число (до +/- 32768) |
Integer | Целое число (до +/- 2130706432) |
Money | Финансовый тип, 4 знака после запятой |
Decimal (n, m) | Число с n разрядами, из них m знаков - после запятой |
varchar(n) | Строка переменной длины, максимум – n символов |
nvarachar(n) | То же, что и varchar, только в формате Unicode |
Datetime | Дата/время |
Bit | Логический тип (0 – Ложь, 1 – Истина) |
15.5. Особенности импорта из разных источников
При импорте из Excel часто возникает проблема «обрезания» строк, чья длина превышает 255 символов. В этом случае необходимо сделать формат колонки «Общий», а не «Текстовый». Длина поля типа «общий» распознается в САПФИР равной 4000 символов.
Если импортируемый dbf-файл получен сохранением из Excel, его кодировка при импорте должна быть установлена «DOS».
При необходимости загрузки данных из набора одинаковых файлов, которые расположены в одном и том же каталоге, можно воспользоваться циклической загрузкой по маске файла. Для этого необходимо создать в настройке импорта 2 внешних параметра – один с типом «Директория», другой с типом «Имя файла». Во время настройки исходных таблиц эти параметры должны быть указаны как константы, а перед запуском импорта надо вместо имени файла указать маску DOS, по которой надо искать файл. Все файлы из указанного в первом параметре каталога, имена которых удовлетворяют этой маске, будут загружены по очереди.
Обратите внимание, что область импорта при этом также должна зависеть от содержимого (или имени) найденных файлов – чтобы каждый последующий файл не очищал все предыдущие данные из целевой таблицы. Для этого создается третий парфаметр типа «Строка», который в процессе обработки исходных таблиц заполняется с помощью правила «Значение поля из таблицы». Этот параметр затем прописывается в качестве маски для области импорта по соответствующему классификатору.
[1] Все названия в данном Руководстве условны и могут различаться для конкретных регионов
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |


