Разделы презентаций


БАЗЫ ДАННЫХ И СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

Содержание

Вложенный SQLНужно использовать пакет программ который бы обеспечивал поддержку вложения SQL в основной язык Команды SQL помещаются в исходный текст программы.Командам SQL предшествует фраза EXEC SQL (EXECute SQL)

Слайды и текст этой презентации

Слайд 1Встраиваемый SQL
БАЗЫ ДАННЫХ И СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

Встраиваемый SQLБАЗЫ ДАННЫХ И СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

Слайд 2Вложенный SQL
Нужно использовать пакет программ который бы обеспечивал поддержку вложения

SQL в основной язык
Команды SQL помещаются в исходный текст

программы.
Командам SQL предшествует фраза EXEC SQL (EXECute SQL)

Вложенный SQLНужно использовать пакет программ который бы обеспечивал поддержку вложения SQL в основной язык Команды SQL помещаются

Слайд 3Переменные

Объявляются в SQL DECLARE SESSION (раздел объявлений)
Должны иметь совместимый тип
В

SQL команде переменной предшествует двоеточие

ПеременныеОбъявляются в SQL DECLARE SESSION (раздел объявлений)Должны иметь совместимый типВ SQL команде переменной предшествует двоеточие

Слайд 4Переменные
EXEC SQL BEGIN DECLARE SECTION;
Var

id_num: integer;
name: array [1 . .40]

of char;
EXEC SQL END DECLARE SECTION;
ПеременныеEXEC SQL BEGIN DECLARE SECTION; Var    id_num: integer;    name: array [1

Слайд 5Переменные
SQL и части базового языка обмениваются значениями через переменные


EXEC SQL

INSERT INTO Departaments
VALUES ( :id_num, :name)


ПеременныеSQL и части базового языка обмениваются значениями через переменныеEXEC SQL INSERT INTO Departaments 	   VALUES

Слайд 6Переменные
while not eof (f) do
begin
readln(f,

name);
EXEC SOL INSERT INTO Departaments
VALUES

( seq_depart.NEXTVAL, :name) ;
end;
Переменныеwhile not eof (f) do begin   readln(f, name);   EXEC SOL INSERT INTO Departaments

Слайд 7Переменные
EXEC SQL
SELECT name, surname
INTO

:Sname, :Ssurname
FROM Students
WHERE id_num =

123456;

Запрос должен извлекать только ОДНУ строчку

ПеременныеEXEC SQL   SELECT name, surname   INTO :Sname, :Ssurname  FROM Students

Слайд 8Курсоры
Курсор – переменная, связанная с запросом.
Значением курсора может быть каждая

строка, которая выводится при запросе.
Строки курсора упорядочены.
Курсоры управляются следующими командами:
DECLARE

– объявить
OPEN - открыть
FETCH – выбрать строку
CLOSE - закрыть
КурсорыКурсор – переменная, связанная с запросом.Значением курсора может быть каждая строка, которая выводится при запросе.Строки курсора упорядочены.Курсоры

Слайд 9Курсоры
EXEC SQL DECLARE CURSOR Students3k FOR

SELECT id_num, name, surname

FROM Students
WHERE Course = 3;

EXEC SQL OPEN CURSOR Students3k;

FETCH Students3k INTO :id_num, :name, :surname;

EXEC SQL CLOSE CURSOR Students3k;

КурсорыEXEC SQL DECLARE CURSOR Students3k FOR      SELECT id_num, name, surname

Слайд 10Обработка ошибок

SQLCODE – числовой код
SQLSTATE – строка из 5 символов

(2-класс, 3-подкласс)

Варианты значений
Успешное завершение без ошибок и предупреждений
Успешное завершение с

предупреждением
Ошибка

Обработка ошибокSQLCODE – числовой кодSQLSTATE – строка из 5 символов (2-класс, 3-подкласс)Варианты значенийУспешное завершение без ошибок и

Слайд 11SQLCODE
Значения:
0 - успешное завершение без ошибок и предупреждений
100 - успешное

завершение с предупреждением (NOT FOUND, NO DATE)
Число < 0 -

ошибка

SQLCODEЗначения:0 - успешное завершение без ошибок и предупреждений100 - успешное завершение с предупреждением (NOT FOUND, NO DATE)Число

Слайд 12NOT FOUND, NO DATE
SELECT: запрос не выбрал ни одной строки
FETCH:

последняя строка уже была выбрана, или ни одной строки не

выбрано запросом в курсоре
INSERT: ни одной строки не было вставлено
UPDATE или DELETE: ни одна строка не ответила условию предиката
NOT FOUND, NO DATESELECT: запрос не выбрал ни одной строкиFETCH: последняя строка уже была выбрана, или ни

Слайд 13SQLSTATE
Значения:
‘00000’ - успешное завершение без ошибок и предупреждений
Класс ’01’ -

успешное завершение с предупреждением
Класс ’02’ - NOT FOUND
Класс >

’02’ - ошибка

SQLSTATEЗначения:‘00000’ - успешное завершение без ошибок и предупрежденийКласс ’01’ - успешное завершение с предупреждением Класс ’02’ -

Слайд 14Курсоры
EXEC SQL OPEN CURSOR Students3k;
EXEC SQL FETCH Students3k
INTO

:id_num, :name, :surname;
while SQLSTATE = ‘00000’ do
begin
writeln (id_num,

name, surname);
EXEC SQL FETCH Students3k
INTO :id_num, :name, :surname;
end;
EXEC SQL CLOSE CURSOR Students3k;
КурсорыEXEC SQL OPEN CURSOR Students3k; EXEC SQL FETCH Students3k 		INTO :id_num, :name, :surname;while SQLSTATE = ‘00000’ do

Слайд 15Курсоры
EXEC SQL OPEN CURSOR Students5k;
while not SQLCODE = 100

do
begin
EXEC SQL FETCH Students5k
INTO :id_num,:name, :surname;
EXEC SQL

DELETE FROM Students WHERE CURRENT OF Students5k;
end;
EXEC SQL CLOSE CURSOR Students5k;
КурсорыEXEC SQL OPEN CURSOR Students5k; while not SQLCODE = 100 do 	begin 		EXEC SQL FETCH Students5k		INTO :id_num,:name,

Слайд 16Курсоры
EXEC SQL OPEN CURSOR Students3k;
while not SQLCODE = 100

do
begin
EXEC SQL FETCH Students3k
INTO :id_num,:name, :surname;
EXEC SQL

UPDATE Students
SET Course = Course+1
WHERE CURRENT OF Students3k;
end;
EXEC SQL CLOSE CURSOR Students3k;
КурсорыEXEC SQL OPEN CURSOR Students3k; while not SQLCODE = 100 do 	begin 		EXEC SQL FETCH Students3k		INTO :id_num,:name,

Слайд 17Индикаторные переменные
Объявляются в разделе объявлений SQL
Имеют тип главного языка,

соответствующий числовому типу в SQL
Значения:
изначально 0
отрицательное число, если производится значение

NULL
Индикаторные переменныеОбъявляются в разделе объявлений SQL Имеют тип главного языка, соответствующий числовому типу в SQLЗначения:изначально 0отрицательное число,

Слайд 18Индикаторные переменные
EXEC SQL OPEN CURSOR Students3k;
while SQLCODE = 0

do
begin
EXEC SQL FETCH Students3k
INTO :id_num, :name:i_n, :surnameINDlCATOR:i_sn;
If

(i_n > = 0) and (i_sn > = 0) {not NULL}
then
…………………
else {NULL}
begin
If i_n < 0 then writeln (‘Студент ', id_num, ' не имеет имени');
If i_sn < 0 then writeln (' Студент ', id_num, ' не имеет фамилии');
end; {else}
end; {while}
EXEC SQL CLOSE CURSOR Students3k;
Индикаторные переменныеEXEC SQL OPEN CURSOR Students3k; while SQLCODE = 0 do 	begin 		EXEC SQL FETCH Students3k		INTO :id_num,

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика