🗊Презентация Написание исполняемых конструкций PL/SQL

Категория: Информатика
Нажмите для полного просмотра!
Написание исполняемых конструкций PL/SQL, слайд №1Написание исполняемых конструкций PL/SQL, слайд №2Написание исполняемых конструкций PL/SQL, слайд №3Написание исполняемых конструкций PL/SQL, слайд №4Написание исполняемых конструкций PL/SQL, слайд №5Написание исполняемых конструкций PL/SQL, слайд №6Написание исполняемых конструкций PL/SQL, слайд №7Написание исполняемых конструкций PL/SQL, слайд №8Написание исполняемых конструкций PL/SQL, слайд №9Написание исполняемых конструкций PL/SQL, слайд №10Написание исполняемых конструкций PL/SQL, слайд №11Написание исполняемых конструкций PL/SQL, слайд №12Написание исполняемых конструкций PL/SQL, слайд №13Написание исполняемых конструкций PL/SQL, слайд №14Написание исполняемых конструкций PL/SQL, слайд №15Написание исполняемых конструкций PL/SQL, слайд №16Написание исполняемых конструкций PL/SQL, слайд №17Написание исполняемых конструкций PL/SQL, слайд №18Написание исполняемых конструкций PL/SQL, слайд №19Написание исполняемых конструкций PL/SQL, слайд №20Написание исполняемых конструкций PL/SQL, слайд №21Написание исполняемых конструкций PL/SQL, слайд №22Написание исполняемых конструкций PL/SQL, слайд №23Написание исполняемых конструкций PL/SQL, слайд №24Написание исполняемых конструкций PL/SQL, слайд №25Написание исполняемых конструкций PL/SQL, слайд №26Написание исполняемых конструкций PL/SQL, слайд №27

Содержание

Вы можете ознакомиться и скачать презентацию на тему Написание исполняемых конструкций PL/SQL. Доклад-сообщение содержит 27 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Написание исполняемых конструкций
Описание слайда:
Написание исполняемых конструкций

Слайд 2





Программные конструкции блока PL/SQL могут располагаться на нескольких строках.
Программные конструкции блока PL/SQL могут располагаться на нескольких строках.
Лексические единицы делятся на:
Разделители
Идентификаторы
Литералы
Комментарии
Слэш ( / ) определяет начало программного выполнения PL/SQL блока
Описание слайда:
Программные конструкции блока PL/SQL могут располагаться на нескольких строках. Программные конструкции блока PL/SQL могут располагаться на нескольких строках. Лексические единицы делятся на: Разделители Идентификаторы Литералы Комментарии Слэш ( / ) определяет начало программного выполнения PL/SQL блока

Слайд 3





Разделители
Описание слайда:
Разделители

Слайд 4


Написание исполняемых конструкций PL/SQL, слайд №4
Описание слайда:

Слайд 5





Одиночный комментарий обозначается (--).
Одиночный комментарий обозначается (--).
Многострочный располагается между /* и */
BEGIN
/* Вычислить ежегодное жалованье, основанное на ежемесячном вводе жалованья от пользователя */
	v_sal := :g_monthly_sal * 12;
END; -- Конец этого блока
Описание слайда:
Одиночный комментарий обозначается (--). Одиночный комментарий обозначается (--). Многострочный располагается между /* и */ BEGIN /* Вычислить ежегодное жалованье, основанное на ежемесячном вводе жалованья от пользователя */ v_sal := :g_monthly_sal * 12; END; -- Конец этого блока

Слайд 6





PL/SQL не учитывает регистр символов
PL/SQL не учитывает регистр символов
длина - до 30 символов, может содержать A-Z, 0-9, _, $
должны начинаться с буквы
могут включать символы $, _ и #
не должны содержать пробелов
не должны (а в большинстве случаев и не сможете) использовать зарезервированные слова : такие, как BEGIN, IF и  т.д., есть специальный справочник :V$RESERVED_WORDS ~ 2000 слов. 
      PLS-00103: Encountered the symbol "END" when expecting one of the following.
некоторые из правил именования объектов можно нарушить, заключая идентификатор в кавычки
переменные могут иметь одинаковые имена в случае, если находятся в разных блоках
имя переменной не должно совпадать с именем поля таблицы, используемого в данном блоке
Описание слайда:
PL/SQL не учитывает регистр символов PL/SQL не учитывает регистр символов длина - до 30 символов, может содержать A-Z, 0-9, _, $ должны начинаться с буквы могут включать символы $, _ и # не должны содержать пробелов не должны (а в большинстве случаев и не сможете) использовать зарезервированные слова : такие, как BEGIN, IF и т.д., есть специальный справочник :V$RESERVED_WORDS ~ 2000 слов. PLS-00103: Encountered the symbol "END" when expecting one of the following. некоторые из правил именования объектов можно нарушить, заключая идентификатор в кавычки переменные могут иметь одинаковые имена в случае, если находятся в разных блоках имя переменной не должно совпадать с именем поля таблицы, используемого в данном блоке

Слайд 7





Символьные литералы и даты должны заключаться в одиночные кавычки.
Символьные литералы и даты должны заключаться в одиночные кавычки.
		v_name := ’Henderson’;
Числовые литералы могут быть представлены простым или экспоненциальным значением.
Описание слайда:
Символьные литералы и даты должны заключаться в одиночные кавычки. Символьные литералы и даты должны заключаться в одиночные кавычки. v_name := ’Henderson’; Числовые литералы могут быть представлены простым или экспоненциальным значением.

Слайд 8





Доступны в процедурных блоках функции:
Доступны в процедурных блоках функции:
- однострочные числовые операторы (ROUND, TRUNC, MOD, … )
- однострочные символьные операторы (LOWER, UPPER, INITCAP, CONCAT, SUBSTR, LENGTH, INSTR)
- преобразования типов данных (TO_DATE, TO_CHAR, TO_NUMBER)
работы с датой (NEXT_DAY, LAST_DAY, ROUND, … )
Не доступны (вне SQL конструкций, в рамках SQL доступны):
групповые функции (AVG, MIN, MAX, COUNT, SUM, STDDEV, and VARIANCE)
DECODE
Описание слайда:
Доступны в процедурных блоках функции: Доступны в процедурных блоках функции: - однострочные числовые операторы (ROUND, TRUNC, MOD, … ) - однострочные символьные операторы (LOWER, UPPER, INITCAP, CONCAT, SUBSTR, LENGTH, INSTR) - преобразования типов данных (TO_DATE, TO_CHAR, TO_NUMBER) работы с датой (NEXT_DAY, LAST_DAY, ROUND, … ) Не доступны (вне SQL конструкций, в рамках SQL доступны): групповые функции (AVG, MIN, MAX, COUNT, SUM, STDDEV, and VARIANCE) DECODE

Слайд 9





Доступны в процедурных блоках функции:
Доступны в процедурных блоках функции:
	v_mailing_address := v_name||CHR(10)||v_state||CHR(10)||v_zip;
	v_date := TO_DATE(’12-JAN-2001’, ’DD-MON-YYYY’);
	v_ename := LOWER(v_ename);
Групповые функции не доступны (вне SQL конструкций, в рамках SQL доступны):
Так нельзя - v_ename := SUM (employees.salary);
Только в рамках SQL конструкции 
BEGIN
	SELECT SUM(salary) -- group function
		INTO v_sum_sal
		FROM employees WHERE department_id = v_deptno;
END;
Описание слайда:
Доступны в процедурных блоках функции: Доступны в процедурных блоках функции: v_mailing_address := v_name||CHR(10)||v_state||CHR(10)||v_zip; v_date := TO_DATE(’12-JAN-2001’, ’DD-MON-YYYY’); v_ename := LOWER(v_ename); Групповые функции не доступны (вне SQL конструкций, в рамках SQL доступны): Так нельзя - v_ename := SUM (employees.salary); Только в рамках SQL конструкции BEGIN SELECT SUM(salary) -- group function INTO v_sum_sal FROM employees WHERE department_id = v_deptno; END;

Слайд 10





PL\SQL конвертирует типы динамически при необходимости, например при присвоении переменной типа CHAR значения NUMBER и наоборот.
PL\SQL конвертирует типы динамически при необходимости, например при присвоении переменной типа CHAR значения NUMBER и наоборот.
Смешивание типов данных может приводить к ошибке конвертации и потере производительности.
Функции преобразования: TO_CHAR,  TO_DATE,  TO_NUMBER
DECLARE
	v_date DATE := TO_DATE(’12-JAN-2001’, ’DD-MON-YYYY’);
BEGIN
. . .
Описание слайда:
PL\SQL конвертирует типы динамически при необходимости, например при присвоении переменной типа CHAR значения NUMBER и наоборот. PL\SQL конвертирует типы динамически при необходимости, например при присвоении переменной типа CHAR значения NUMBER и наоборот. Смешивание типов данных может приводить к ошибке конвертации и потере производительности. Функции преобразования: TO_CHAR, TO_DATE, TO_NUMBER DECLARE v_date DATE := TO_DATE(’12-JAN-2001’, ’DD-MON-YYYY’); BEGIN . . .

Слайд 11





Эта инструкция приведет к ошибке трансляции если переменная v_date объявлена как тип данных DATE
Эта инструкция приведет к ошибке трансляции если переменная v_date объявлена как тип данных DATE
	v_date DATE := ’January 13, 2001’;
Корректный синтаксис выглядит сл. образом:
v_date := TO_DATE (’January 13,2001’,’Month DD, YYYY’);
Описание слайда:
Эта инструкция приведет к ошибке трансляции если переменная v_date объявлена как тип данных DATE Эта инструкция приведет к ошибке трансляции если переменная v_date объявлена как тип данных DATE v_date DATE := ’January 13, 2001’; Корректный синтаксис выглядит сл. образом: v_date := TO_DATE (’January 13,2001’,’Month DD, YYYY’);

Слайд 12





PL/SQL блок может быть вложен везде, где исполняемый	раздел это позволяет.
PL/SQL блок может быть вложен везде, где исполняемый	раздел это позволяет.
Вложенный блок сам становится инструкцией.
Раздел исключения может содержать вложенные блоки.
Ссылки к идентификатору разрешены согласно области его видимости.
Описание слайда:
PL/SQL блок может быть вложен везде, где исполняемый раздел это позволяет. PL/SQL блок может быть вложен везде, где исполняемый раздел это позволяет. Вложенный блок сам становится инструкцией. Раздел исключения может содержать вложенные блоки. Ссылки к идентификатору разрешены согласно области его видимости.

Слайд 13


Написание исполняемых конструкций PL/SQL, слайд №13
Описание слайда:

Слайд 14





...
...
		x BINARY_INTEGER;
...
	BEGIN
	...
		DECLARE
		   y NUMBER;
		BEGIN
		   y:= x;
		END;
   ...
   END;
Описание слайда:
... ... x BINARY_INTEGER; ... BEGIN ... DECLARE y NUMBER; BEGIN y:= x; END; ... END;

Слайд 15





<<outer>>
<<outer>>
DECLARE
	birthdate DATE;
BEGIN
	DECLARE
	   birthdate DATE;
	BEGIN
   ...
   outer.birthdate := TO_DATE(’03-AUG-1976’,’DD-MON-YYYY’);
	END;
	....
END;
Описание слайда:
<<outer>> <<outer>> DECLARE birthdate DATE; BEGIN DECLARE birthdate DATE; BEGIN ... outer.birthdate := TO_DATE(’03-AUG-1976’,’DD-MON-YYYY’); END; .... END;

Слайд 16





Логические, Арифметические, Конкатенации
Логические, Арифметические, Конкатенации
Порядок выполнения операторов: возведение в степень,  унарные операции, умножение и деление, сложение и вычитание, операторы сравнения, логические операторы.
Оператор возведения в степень (**)  - отсутствует в SQL – функция POWER
	SQL 
		select (2**32) from dual
			ORA-00936: отсутствует выражение
		select power (2, 32) from dual  
			4294967296
	PLSQL
		 BEGIN
		      	DBMS_OUTPUT.PUT_LINE(2 ** 32);
		      	DBMS_OUTPUT.PUT_LINE(POWER(2,32));
		    END;
		    /
		PL/SQL procedure successfully completed.
		4294967296
		4294967296
Описание слайда:
Логические, Арифметические, Конкатенации Логические, Арифметические, Конкатенации Порядок выполнения операторов: возведение в степень, унарные операции, умножение и деление, сложение и вычитание, операторы сравнения, логические операторы. Оператор возведения в степень (**) - отсутствует в SQL – функция POWER SQL select (2**32) from dual ORA-00936: отсутствует выражение select power (2, 32) from dual 4294967296 PLSQL BEGIN DBMS_OUTPUT.PUT_LINE(2 ** 32); DBMS_OUTPUT.PUT_LINE(POWER(2,32)); END; / PL/SQL procedure successfully completed. 4294967296 4294967296

Слайд 17





 Инкремент счетчика для цикла
 Инкремент счетчика для цикла
		v_count := v_count + 1;
Установка булева значения (:= vs =):
		v_equal := (v_n1=v_n2); 
Проверка условия:
		v_valid := (v_emp IS NOT NULL);
Описание слайда:
Инкремент счетчика для цикла Инкремент счетчика для цикла v_count := v_count + 1; Установка булева значения (:= vs =): v_equal := (v_n1=v_n2); Проверка условия: v_valid := (v_emp IS NOT NULL);

Слайд 18





Стандартный пакет СУБД ORACLE
Стандартный пакет СУБД ORACLE
Вывод информации на экран из блока PL/SQL 
Необходимо задать в SQL Plus , SQLDeveloper :
			SET SERVEROUTPUT ON
Описание слайда:
Стандартный пакет СУБД ORACLE Стандартный пакет СУБД ORACLE Вывод информации на экран из блока PL/SQL Необходимо задать в SQL Plus , SQLDeveloper : SET SERVEROUTPUT ON

Слайд 19






set serveroutput on 
DECLARE
	v_sal EMPLOYEES.SALARY%TYPE;
BEGIN
	SELECT SALARY 
		INTO v_sal 
		FROM EMPLOYEES 
		WHERE EMPLOYEE_ID = 189;
	dbms_output.put_line(v_sal);
	dbms_output.put_line('зарплата – ' || v_sal);
END; 
set serveroutput off
Описание слайда:
set serveroutput on DECLARE v_sal EMPLOYEES.SALARY%TYPE; BEGIN SELECT SALARY INTO v_sal FROM EMPLOYEES WHERE EMPLOYEE_ID = 189; dbms_output.put_line(v_sal); dbms_output.put_line('зарплата – ' || v_sal); END; set serveroutput off

Слайд 20





set serveroutput on 
set serveroutput on 
DECLARE
	start_date TIMESTAMP;
	end_date TIMESTAMP;
	service_interval INTERVAL YEAR TO MONTH;
	years_of_service NUMBER;
	months_of_service NUMBER;
BEGIN
	start_date := TO_TIMESTAMP('29-01-1988','dd-mm-yyyy');
	end_date := TO_TIMESTAMP ('26-11-1995','dd-mm-yyyy');
	service_interval := (end_date - start_date) YEAR TO MONTH;
	DBMS_OUTPUT.PUT_LINE(service_interval);
	years_of_service := EXTRACT(YEAR FROM service_interval);
	months_of_service := EXTRACT(MONTH FROM service_interval);
               DBMS_OUTPUT.PUT_LINE(years_of_service || ' years and '|| months_of_service || ' months');
END;
Описание слайда:
set serveroutput on set serveroutput on DECLARE start_date TIMESTAMP; end_date TIMESTAMP; service_interval INTERVAL YEAR TO MONTH; years_of_service NUMBER; months_of_service NUMBER; BEGIN start_date := TO_TIMESTAMP('29-01-1988','dd-mm-yyyy'); end_date := TO_TIMESTAMP ('26-11-1995','dd-mm-yyyy'); service_interval := (end_date - start_date) YEAR TO MONTH; DBMS_OUTPUT.PUT_LINE(service_interval); years_of_service := EXTRACT(YEAR FROM service_interval); months_of_service := EXTRACT(MONTH FROM service_interval); DBMS_OUTPUT.PUT_LINE(years_of_service || ' years and '|| months_of_service || ' months'); END;

Слайд 21





Связанная переменная обозначается символом (:) перед идентификатором (пример в SQL Developer и SQL Plus) Присваивание значения связанной переменной аналогично переменной PL/SQL. 
Связанная переменная обозначается символом (:) перед идентификатором (пример в SQL Developer и SQL Plus) Присваивание значения связанной переменной аналогично переменной PL/SQL. 
-- SQL -- DEFINE  g_employee =189;
-- SQL -- VARIABLE g_salary NUMBER;
DECLARE
	v_sal EMPLOYEES.SALARY%TYPE;
BEGIN
	SELECT SALARY 
		INTO v_sal 
		FROM EMPLOYEES 
		WHERE EMPLOYEE_ID = &g_employee;
	:g_salary := v_sal;
END;                                                                     
print g_salary
Описание слайда:
Связанная переменная обозначается символом (:) перед идентификатором (пример в SQL Developer и SQL Plus) Присваивание значения связанной переменной аналогично переменной PL/SQL. Связанная переменная обозначается символом (:) перед идентификатором (пример в SQL Developer и SQL Plus) Присваивание значения связанной переменной аналогично переменной PL/SQL. -- SQL -- DEFINE g_employee =189; -- SQL -- VARIABLE g_salary NUMBER; DECLARE v_sal EMPLOYEES.SALARY%TYPE; BEGIN SELECT SALARY INTO v_sal FROM EMPLOYEES WHERE EMPLOYEE_ID = &g_employee; :g_salary := v_sal; END; print g_salary

Слайд 22





Использовать комментарии в коде
Использовать комментарии в коде
Использование различных регистров символов для различных частей кода (сл. слайд)
Именование объектов согласно рекомендациям
	Правила создания PLSQL кода и обьектов баз данных 
	\\Fileserver.office.bercut.ru\СКС\RBT\DB monitoring\_Обучение\PLSQL курс
Использование выравнивания текста (через слайд)
	mnSMSC\3.9.0\Sun_Solaris\mnSMSC\3.9.0.14\mnSMSC Common Databases\mnSMSCMessage\Scripts
Описание слайда:
Использовать комментарии в коде Использовать комментарии в коде Использование различных регистров символов для различных частей кода (сл. слайд) Именование объектов согласно рекомендациям Правила создания PLSQL кода и обьектов баз данных \\Fileserver.office.bercut.ru\СКС\RBT\DB monitoring\_Обучение\PLSQL курс Использование выравнивания текста (через слайд) mnSMSC\3.9.0\Sun_Solaris\mnSMSC\3.9.0.14\mnSMSC Common Databases\mnSMSCMessage\Scripts

Слайд 23





Рекомендации по регистру кода
Описание слайда:
Рекомендации по регистру кода

Слайд 24





Для удобства чтения кода рекомендуется выравнивание каждой строки:		
Для удобства чтения кода рекомендуется выравнивание каждой строки:
Описание слайда:
Для удобства чтения кода рекомендуется выравнивание каждой строки: Для удобства чтения кода рекомендуется выравнивание каждой строки:

Слайд 25





Итоги
Синтаксис PL/SQL блока
Работа  с идентификаторами
Область видимости и действия идентификаторов и вложенных блоков
Программирование PL/SQL
Функции
Преобразование типов
Операторы
Рекомендации к коду
Описание слайда:
Итоги Синтаксис PL/SQL блока Работа с идентификаторами Область видимости и действия идентификаторов и вложенных блоков Программирование PL/SQL Функции Преобразование типов Операторы Рекомендации к коду

Слайд 26





Практика №2!
30 минут
Описание слайда:
Практика №2! 30 минут

Слайд 27





Самостоятельное изучение
Распространенные механизмы ввода/вывода в PL/SQL
DBMS_OUTPUT — вывод информации на экран;
UTL_FILE — чтение и запись файлов операционной системы;
UTL_MAIL и UTL_SMTP — отправка электронной почты из PL/SQL;
UTL_HTTP — получение данных с веб-страниц.
* Глава 22 Ввод/вывод в PL/SQL.
Описание слайда:
Самостоятельное изучение Распространенные механизмы ввода/вывода в PL/SQL DBMS_OUTPUT — вывод информации на экран; UTL_FILE — чтение и запись файлов операционной системы; UTL_MAIL и UTL_SMTP — отправка электронной почты из PL/SQL; UTL_HTTP — получение данных с веб-страниц. * Глава 22 Ввод/вывод в PL/SQL.



Похожие презентации
Mypresentation.ru
Загрузить презентацию