Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора базы данных.doc
Скачиваний:
13
Добавлен:
23.09.2019
Размер:
171.52 Кб
Скачать

Values ('Иванов', 35);

После конструкции INSERT INTO и имени базы я поставил скобки, где перечислил поля,

которые необходимо заполнить (Фамилия и Возраст). В скобках после слова VALUES я

перечисляю эти поля в той же последовательности, в которой перечислил перед этим

(сначала фамилия, а потом возраст).

Теперь представь, что ты хочешь сохранить результат запроса SELECT в отдельной

таблице. Для этого в SQL всё уже предусмотрено. Тебе нужно только написать:

INSERT INTO User1

SELECT *

FROM User2

WHERE Age=10

В этом примере сначала выполнится запрос SELECT:

SELECT *

FROM User2

WHERE Age=10

После его выполнения, результат будет занесён в таблицу User1.

Для удаления есть команда DELETE :

DELETE FROM User1

Всё очень просто, эта конструкция удаляет абсолютно все строки из таблицы User1.

Можно сказать, что этим мы очищаем таблицу.

Теперь рассмотрим другой пример:

DELETE FROM User1

WHERE Age=10

Этот пример удаляет только те строки, в которых поле Age равно 10.

14. Хранимые процедуры. Создание, изменение, удаление, вызов хранимойпоцедуры. Назначение и примеры использования инструкций: SUSPEND, SELECT.

Хранимая процедура – это программа, хранящаяся в базе данных. Она может вызываться из приложения клиента, других хранимых процедур, в нее можно передавать параметры и получать результаты.

Виды хранимых процедур:

1. Процедура выбора – возвращает набор данных, т.е. несколько строк.

2. Исполняемая процедура (процедура действия) – может возвращать только одну строку или вообще ничего не возвращать.

Язык хранимых процедур – это процедурный язык, дополненный возможностями языка SQL.

Оператор внутри процедуры заканчивается;

Создание процедуры

CREATEPROCEDURE<имя процедуры> [(<список входных параметров>)]

[RETURNS (<список выходных параметров>)]

AS

[Описание дополнительных переменных]

BEGIN

<Тело процедуры>

END

ALTER – изменение процедуры

DROP – удаление процедуры

Вызов процедуры

1. Если она возвращает набор данных, то из оператора SELECT

SELECT * FROM<имя процедуры>

[(входные параметры)].

2. Если процедура действия, то EXECUTEPROCEDURE

<имя процедуры>

[(входные параметры)].

15.Хранимые процедуры, использование переменных, циклов.

В MySQL для работы с циклами применяются операторы WHILE, REPEAT и LOOP.

Оператор цикла WHILE

Сначала синтаксис:

WHILE условиеDO запрос

END WHILE

Запрос будет выполняться до тех пор, пока условие истинно.

Процедуры бывают следующих видов:

  1. Хранимая процедура выбора. Может возвращать несколько строк значений параметров, то есть набор данных.

  2. Хранимая процедура действия (исполняемая процедура). Они могут возвращать только одну строку значений параметров или вообще не возвращать данных, а только реализовывать какие-либо действия.

  3. Триггеры. Это хранимые процедуры не возвращающих параметров и в них нельзя передавать параметры и они связываются с каким-либо событием в базе данных.

Создание:

SetTerm^; CREATEProcedureимя_процедуры[ (список входных параметров)]

[Returns (список всех параметров)]

As

Описание переменных;

Begin

Тело процедуры

End^

SetTerm;^

/*…*/ - комментарии.

Begin …End

= – оператор присваивания

Если это процедура выбора то вызывается она инструкцией Select :

Select *

Fromимя_процедура (параметры)

Исполняемые процедуры

ExecuteProcedureимя_процедуры (параметр)

Описание переменных:

DeclareVariable

<имя переменной><тип данных>;

Xinteger;

Переменные в инструкции SQL указываются - :имя_переменной (:X)

Операция select в хранимой процедуры используется для выдачи одной строки данных и должен быть дополнен:

Select …

Intoсписок_переменных;

Пример:

CREATE Procedure pKolvo (inTovar Integer)

Returns (ravg float, rsum integer)

As

Begin

Select Avg (kolvo), Sum (kolvo)

FROM Rashod

Where NTovar =: inTovar

Into :ravg, :rsum;

Suspend;

End

Suspend – приостанавливает процедуру для возврата данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]