Предположим, я хочу создать «хранимую функцию» для MYSQL.Где я это написал?Какой файл? - PullRequest
0 голосов
/ 01 июля 2010

Конечно, я могу зайти в консоль mysql и набрать функцию.Но что, если я хочу сохранить его для будущего использования?Что мне делать?

Ответы [ 2 ]

1 голос
/ 01 июля 2010

В большинстве проектов есть файл SQL для инициализации базы данных с нуля.Таким образом, можно настроить базу данных приложения, просто запустив этот файл SQL.Ваш запрос CREATE PROCEDURE / FUNCTION также будет помещен в этот файл.

0 голосов
/ 01 июля 2010

Здесь есть хорошее руководство:

http://www.databasejournal.com/features/mysql/article.php/3525581/MySQL-Stored-Procedures-Part-1.htm

Вам необходимо использовать хранимые процедуры . После написания они сохраняются в базе данных вместе с вашими таблицами. Их можно вызвать с помощью оператора CALL <procedure>.

Вот пример процедуры, которая заполняет table1 случайными значениями:

DELIMITER //
DROP PROCEDURE IF EXISTS autofill//
CREATE PROCEDURE autofill()
BEGIN
    DECLARE i INT DEFAULT 0;
    WHILE i < 20000 DO
        INSERT INTO table1 (size) VALUES (FLOOR((RAND() * 1000)));
        SET i = i + 1;
    END WHILE;
END;
//
DELIMITER ;

Как только процедура написана, она вызывается так:

CALL autofill();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...