PL/SQL Хранимые процедуры и функции. Процедуры [CREATE [OR REPLACE]] PROCEDURE procedure_name[(parameter[, parameter]...)] {IS | AS} [local declarations]

Презентация:



Advertisements
Похожие презентации
PL/SQL Пакеты. Определение Пакет – это объект схемы данных, объединяющий набор типов, объектов и подпрограмм PL/SQL.
Advertisements

Типы хранимых процедур System stored procedures User-defined stored procedures Temporary stored procedures.
PL/SQL Введение 1. Типы данных Типы доступные SQL (в Oracle) BOOLEAN CHAR NUMBER RECORD TABLE.
Пример реализации приложения Программа отправки и анализа SMS-сообщений (через с WEB-интерфейсом.
Влияние кванта ОС на производительность Oracle к.ф.-м.н. Ю.Пудовченко «Открытые Технологии»
ОБЗОР PL/SQL. Общие понятия PL/SQL – это дополнение стандартного языка SQL многими средствами, присущими современным языкам программирования. PL/SQL обладает.
В. М. Гуровиц, Глобальные функции объявляются в самой программе или в модуле и доступны из любого места программы Локальные функции.
PHP как язык программированияPHP как язык программирования.
1/27 Chapter 9: Template Functions And Template Classes.
Архитектура «Клиент-сервер». Обзор компонентов SQL Server 2000.
Основы реляционных баз данных Лекция 6. Введение в SQL Желенкова Ольга Петровна, с.н.с. ОИ САО РАН, к.ф.-м.н апреля 2008.
Conditional Statements. Program control statements modify the order of statement execution. Statements in a C program normally executes from top to bottom,
Часть II. Формальное описание языков программирования ( Формальная спецификация формальных языков ) Приложение. Грамматика языка IMP в форме BNF.
МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ. Программная единица PL/SQL Именованные блоки Три основных категории Процедура Функция Пакет Хранятся в базе данных или обрабатываются.
PL/SQL Введение 2. Определение собственных типов SUBTYPE Имя_подтипа IS описание типа; Примеры: SUBTYPE my_type IS NATURAL NOT NULL; SUBTYPE Text IS VARCHAR2(1500);
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Applying Route-Maps as BGP Filters.
Inner Classes. 2 Simple Uses of Inner Classes Inner classes are classes defined within other classes The class that includes the inner class is called.
Функции с переменным числом аргументов private static int Sum(int a, int b) { return a + b; } static void Main() { int sum = Sum(1, 2); } 1 Функции.
Часть II. Формальное описание языков программирования ( Формальная спецификация формальных языков ) Приложение. Описание статической семантики языка IMP.
Обеспечение целостности данных Процедурное. Хранимые процедуры Хранимые процедуры пишутся на специальном встроенном языке программирования, они могут.
Транксрипт:

PL/SQL Хранимые процедуры и функции

Процедуры [CREATE [OR REPLACE]] PROCEDURE procedure_name[(parameter[, parameter]...)] {IS | AS} [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name];

Процедуры: параметры parameter_name [IN | OUT | IN OUT] datatype [{:= | DEFAULT} expression] IN: для входных параметров (значения доступны в теле программы) OUT: для выходных (для передачи параметров за пределы процедуры) Для типов данных нельзя задавать размер

Пример: CREATE OR REPLACE PROCEDURE double_name(name IN OUT VARCHAR2) IS BEGIN name := name || name; END;

Функции [CREATE [OR REPLACE ] ] FUNCTION function_name [ ( parameter [, parameter ]... ) ] RETURN datatype {IS | AS} [ local declarations ] BEGIN executable statements [ EXCEPTION exception handlers ] END [ name ];

Пример функции: CREATE OR REPLACE FUNCTION compute_discounts(order_amt NUMBER) RETURN NUMBER IS small_order_amt NUMBER := 400; large_order_amt NUMBER := 1000; small_disct NUMBER := 1; large_disct NUMBER := 5; BEGIN IF (order_amt = small_order_amt) THEN RETURN (order_amt + order_amt * small_disct / 100); ELSIF (order_amt >= large_order_amt) THEN RETURN (order_amt+ order_amt * large_disct / 100); ELSE RETURN (order_amt); END IF; END;

Функции После определения функций к ним можно обращаться напрямую из запросов: SELECT compute_discounts(10) FROM dual;