Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Другие функции

Функция

Возвращаемое значение

DECODE (expr, search1, return1,

[search2, return2, ]...[default])

Если expr равно search, возвращается соответствующий результат return. Если совпадающей пары не найдено, возвращается default.

DUMP(expr[, return_format [, start_position[, length]]])

Expr во внутреннем формате Oracle

GREATEST(expr[, expr]...)

Наибольшее значение expr

LEAST(expr[, expr]...)

Наименьшее значение expr

NVL(expr1, expr2)

Возвращает expr2, если expr1 имеет пустое значение, в противном случае возвращает expr1.

UID

Целое число, которое уникально идентифицирует текущего пользователя.

USER

Имя текущего пользователя ORACLE.

USERENV(option)

Возвращает информацию о текущем сеансе. Аргументы помещаются в одиночных кавычках. Аргументы: ENTRYID, SESSIONSID, TERMINAL, LANGUAGE или LABEL.

VSIZE(expr)

Длина в байтах внутреннего проедставления для expr.

Подведем некоторые итоги: гибкость СУБД Oracle во многом определяется тем, что отдельные блоки кода PL/SQL программ можно хранить как объекты базы данных в формате хранимых процедур, функций и пакетов. Т.е. часть кода программы храниться там, где обрабатывается !!, т.е. на сервере.

Пакет - совокупность функций и процедур, объединенных по общему функциональному признаку, в тело пакетов входят процедуры и функции.

Процедура - объект базы данных обеспечивающий выполнение конкретных действий с передаваемыми параметрами процедуры.

Функция - объект базы данных обеспечивающий выполнение конкретных действий над параметрами функции и возвращающая результат такой обработки.

Для создания функций, процедур, пакетов базы данных используются следующие команды:

CREATE FUNCTION

Создает автономную хранимую функцию.

CREATE PACKAGE

Создает спецификацию для хранимого пакета.

CREATE PACKAGE BODY

Создает тело хранимого пакета.

img src="oracle_pr77.gif" border=0 WIDTH=461 height=26>

CREATE PROCEDURE

Создает автономную хранимую процедуру

Приведем примеры реализации пакетов, функций и процедур.

/* ******Пакет обработки ошибок ********************* */
create or replace package app_err as
/* Получение текста аварийного завершения */
    function get_err  return varchar2;
/* Установка текста аварийного завершения */
    procedure set_err ( error_text in varchar2);
/* Установка текста аварийного завершения и само завершение */
    procedure raise_err ( error_text in varchar2);
 end app_err;
create or replace package body app_err as
 app_err_text varchar2(32767);
 /* *********************************************************** */
 function get_err return varchar2
 is
   A varchar (32767);
 Begin
   A := app_err_text;
   app_err_text := null;
   Return ( A );
 End;
 /* *********************************************************** */
 procedure set_err(error_text in varchar2)
    is
 Begin
    app_err_text := error_text;
 End;
 /* ************************************************************** */
 procedure raise_err ( error_text in varchar2)
 is
 Begin
    app_err_text := error_text;
    raise_application_error (-20000, error_text);
 End;
 end app_err;
/* ** Функция осуществляющая расшифровку пароля пользователя в БД ** */
create or replace function password return varchar2 is
  name   varchar2(23);
  pass   varchar2(23);
  begin
  select ORANAME, CRYPT_PASSWORD
  into name, pass
  from USERS
  where USER_ORANAME = user;
  pass   := encrypt( pass, name );
  return( pass );
  end;
/*Удаляется публичный синоним*/
drop public synonym password;
/*Создается публичный синоним*/
create public synonym password for password;
/* устанавливаем привелегии*/
grant all on password to admin;

Назад | Содержание | Вперед

 

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...