Asql: компилятор SQL-запросов |
Компилятор SQL-запросов предназначен для пакетного выполнения SQL-запросов. В т.ч.:
компиляция хранимых процедур и функций;
SQL-запросы обработки данных (select, import, update, insert, delete);
SQL-запросы докомпиляции БД (create table, alter table);
запросы прямого SQL.
Фактически, компилятор SQL-запросов является подмножеством компилятора
. Синтаксис выполняемых SQL-запросов а также хранимых процедур и функций совпадает с синтаксисом соответствующих конструкций языка .Подробнее об операторах SQL и прямого SQL см. "Средство разработки Атлантис. Описание языка VIP".
Компилятор SQL-запросов может использоваться при:
инсталляции БД;
докомпиляции словаря;
конвертации словаря;
внедрении обновлений и патчей;
в других случаях (например, для ручной правки БД в пакетном режиме).
Запуск компилятора SQL-запросов:
asql [<компилируемый-файл>] [<ключи>]
<компилируемый-файл> - файл с операторами SQL. В имени файла допускается использовать маски: *.lot, staff*.* и т.п. В этом случае будут откомпилированы все файлы, соответствующие заданной маске.
<ключи> - ключи, управляющие режимом компиляции:
/? - выдать подсказку по параметрам компилятора.
/c:<файл-конфигурации> - задать файл конфигурации компилятора. Например:
/c:"%RPP_HOME%\support.cfg" /c:galaktika.cfg
В первом случае имя файла конфигурации заключено в кавычки, т.к. в %RPP_HOME% могут встретиться имена с пробелами.
/<параметр-файла-конфигурации> - параметры, прописываемые в файле конфигурации, могут быть заданы и в командной строке. Параметры задаются в виде <секция>.<параметр>=<значение>. Для многих параметров имеются краткие синонимы.
Протокол компиляции записывается в файл asql.log в текущей директории.
Параметры работы компилятора задаются в конфигурационном файле. По умолчанию используется файл asql.cfg в текущей директории. Конфигурационный файл можно задать явно с помощью ключа /c.
Asql управляется теми же параметрами, что и VIP (см. раздел "Параметры компилятора VIP. ").
Выполнить пакет обновлений БД: добавить записи, скорректировать все записи, добавить хранимую процедуру и получить отчет об итоговом содержимом таблицы. Операторы выполняются с правами супервизора:
asql.exe insert.lot /U:supervisor /#User:supervisor asql.exe update.lot /U:supervisor /#User:supervisor asql.exe SqlProcedure.lot /U:supervisor /#User:supervisor asql.exe selectSQL.lot /U:supervisor /#User:supervisor
Файл insert.lot содержит добавляемые записи:
insert APPENDIX set APPENDIX.ABSTRACT = 'запись 0'; insert APPENDIX set APPENDIX.ABSTRACT = 'запись 3-1'; insert APPENDIX set APPENDIX.ABSTRACT = 'запись 3-2'; insert APPENDIX set APPENDIX.ABSTRACT = 'запись 2-1'; insert APPENDIX set APPENDIX.ABSTRACT = 'запись 2-2';
Файл selectSQL.lot содержит оператор прямого SQL на вывод содержимого указанных полей таблицы APPENDIX:
SQL select NRec, ATL_LASTUSER, ATL_BRANCH, ABSTRACT from APPENDIX;
Файл SqlProcedure.lot содержит текст хранимой процедуры:
sql procedure aaa(s : string); { insert into APPENDIX(ABSTRACT) values(s); }
Файл update.lot содержит задание на корректировку поля ABSTRACT:
update APPENDIX set APPENDIX.ABSTRACT = APPENDIX.ABSTRACT+' updated';
Начиная с Атлантис 5.4.02.