Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ ORACLE SQL \ JAVA ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Пакеты в Oracle



Пакет в Oracle по сути является модулем, несет в себе логически связанные объекты.


Заголовок пакета:
CREATE OR REPLACE PACKAGE имя_модуля {IS AS}
    описание_процедуры |
    описание_функции |
    объявление_переменной |
    определение_типа |
    объявление_исключительной_ситуации |
    объявление_курсора |
END [имя_модуля];

Тело пакета:                                    
CREATE OR REPLACE PACKAGE BODY имя_модуля {IS AS}
    код_инициализации_процедуры |
    код_инициализации_функции |
END [имя_модуля];

 

Создадим пакет:
CREATE OR REPLACE PACKAGE my_pkg IS
    PROCEDURE my_proc(per1 IN INT);
    FUNCTION  my_func(per1 IN INT, per2 IN INT) RETURN INT;
END my_pkg;
/

CREATE OR REPLACE PACKAGE BODY my_pkg IS
  PROCEDURE my_proc(per1 IN INT)
  IS
  BEGIN
    DBMS_OUTPUT.enable;
    DBMS_OUTPUT.put_line('per1 + 2 = ' || TO_CHAR(2 + per1));
  END my_proc;
  
  FUNCTION my_func(per1 IN INT, per2 IN INT) RETURN INT
  IS
  BEGIN
    RETURN (per1 * per2);
  END my_func;
END my_pkg;
/


Вызовем:
SET SERVEROUTPUT ON

BEGIN
  my_pkg.my_proc(12);
  my_pkg.my_proc(TO_CHAR(my_pkg.my_func(3,6))); 
END;
/

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект