Команда APPEND PROCEDURES

Добавляет процедуры, хранящиеся в текстовом файле, к хранимым процедурам текущей базы данных.

Синтаксис:

APPEND PROCEDURES FROM FileName
	[AS nCodePage] [OVERWRITE]

Параметры:
FileName
Задает имя текстового файла, из которого берутся добавляемые хранимые процедуры.
AS nCodePage
Задает кодовую страницу для текстового файла, из которого берутся добавляемые хранимые процедуры. Visual FoxPro копирует содержимое текстового файла и при этом автоматически преобразует содержимое файла в соответствии с заданной кодовой страницей.
Если заданное значение nCodePage не поддерживается, Visual FoxPro генерирует сообщение об ошибке. Выдав функцию GETCP() для этой страницы nCodePage, можно открыть диалоговое окно Code Page и в нем задать нужную кодовую страницу для текстового файла, из которого берутся добавляемые процедуры.
Если предложение AS nCodePage опущено, Visual FoxPro копирует содержимое текстового файла, в котором хранятся присоединяемые процедуры, и при этом автоматически преобразует содержимое в соответствии с текущей кодовой страницей Visual FoxPro. Текущую кодовую страницу Visual FoxPro можно определить с помощью функции CPCURRENT().
Если номер nCodePage равен 0, Visual FoxPro считает, что кодовая страница текстового файла, содержащего добавляемые процедуры, совпадает с кодовой страницей текущей базы данных, и преобразование в текущую кодовую страницу Visual FoxPro не производится.
OVERWRITE
Указывает, что текущие хранимые процедуры базы данных должны замещаться процедурами из текстового файла. Если ключевое слово OVERWRITE опущено, текущие хранимые процедуры базы данных остаются на месте: хранимые процедуры из текстового файла будут присоединяться к текущим хранимым процедурам.

Комментарии
С помощью команды APPEND PROCEDURES можно программным способом модифицировать хранимые процедуры базы данных. В момент выдачи команды APPEND PROCEDURES база данных должна быть открыта и использоваться в качестве текущей; в противном случае Visual FoxPro сгенерирует сообщение об ошибке.
Для работы команды APPEND PROCEDURES необходимо, чтобы база данных была открыта в монопольном режиме. Чтобы открыть базу данных для эксклюзивного пользования, включите предложение EXCLUSIVE в команду OPEN DATABASE.

Пример:

* В следующем примере открывается база данных TESTDATA. Создается
* временная таблица MYTABLE с одним memo-полем, и команда REPLACE
* помещает в это memo-поле хранимую процедуру MyProcedure. Команда
* COPY MEMO создает временный текстовый файл MYTEMP.TXT, в котором
* находится соодержимое memo- поля.
* Команда APPEND PROCEDURES используется для добавления к базе
* данных хранимой процедуры из этого временного текстового файла.
* Команда DISPLAY PROCEDURES отображает хранимые процедуры базы
* данных, а затем временная таблица и текстовый файл уничтожаются.

CLOSE DATABASES
SET PATH TO (HOME( ) + 'samples\data\')	&& Sets path to database
OPEN DATABASE testdata		&& Open testdata database

CREATE TABLE mytable FREE (mProcedure M)	&& Create a temporary table
APPEND BLANK
REPLACE mProcedure WITH 'PROCEDURE MyProcedure' + CHR(13) + CHR(10)
COPY MEMO mProcedure TO mytemp.txt	&& Temporary file
USE  && Close the temporary table

APPEND PROCEDURES FROM mytemp.txt	&& Copy procedure to the database
CLEAR
DISPLAY PROCEDURES	&& Display the procedures
DELETE FILE mytable.dbf		&& Erase the temporary table
DELETE FILE mytable.fpt		&& Erase the temporary table memo file
DELETE FILE mytemp.txt	&& Erase the temporary file

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 20.11.2002