стъпка 99


www.PERVYE ShAGI.ru. Стъпка 99 - PL / SQL - пакети - Особени, функции и процедури



Стъпка 99 - PL / SQL - пакети - Особени, функции и процедури

Мисля, че със сигурност някои от вас са запознати с езици от високо ниво и
принципите на обектно-ориентираното програмиране. И така При определяне на
Пакет може да се използва много интересен трик, наречен "Отмяна
функции и процедури "(претоварване). Например, в C ++ или C #. на
който сега най-вече пиша от страна на клиента към сървъра Oracle,
е концепцията за "претоварена функция". Когато в Visual Studio.NET околната среда. ви
При откриването скоба след определяне на функцията на подписа, който виждате това, което е
е показано по-долу:

Номер 7 показва, че функцията има седем натоварените подписи. при избора
специално от тях се задейства е този, чийто подпис е определено в
момент. Процедури и функции в рамките на модула (пакет) също могат да бъдат
предефинирани. Възможно е да се определят някои процедури или функции с един
същото име, но с различни параметри. В PL / SQL - че има смисъл
При прилагането на този имот на пакета, по отношение на обработката на различни обекти
видове. Там просто се вижда, или някакъв опит да се предизвика
PL / SQL - за обектно ориентиран модел, като се използват основните принципи
Обектно-ориентиран. Нека се опитаме да го приложат на практика. Пишем това заглавие
пакет:

Получаваме след компилация:

В този случай функцията Add_One_Num има три вида инициализация. K
Защо се обърне внимание на следния интересен факт:

Оп! полето за състоянието показва валидния. Но тялото все още е всичко там!
Къде е логиката? Странен факт, но го оставя на съвестта на Лари Елисън. ) Създаване
пакетиране на тялото, за да успокои съвестта! Пишем:

След компилация получаваме:

Това, което се радвам! Най-накрая получи пакета с по-висш функция.
Сега можете да проверите на поведението на нашия малък комикс функция
Add_One_Num. ) Въпреки, че този факт не е от значение, най-важното, че сте добър
Научих как всичко работи. Така че, ние може да пише анонимен блок:

Отново, аритметиката за първокласни триумфи 2 плюс 2 е 4! И това не е
залог. Но, има някои ограничения! Какво да се прави - това е живота!
  1. Вие не може да замени на процедура или функция, ако подписите им се различават
    Само имената или видове.
    Например: или
  2. Вие не може да замени на процедура или функция, ако подписите им се различават
    само за типовете данни, върнати от тях.
    Например:
  3. Видове параметри или функции процедура трябва да са от различни
    въведете семейство. Например, CHAR и VARCHAR са едни и същи за
    тя не може да замени процедура по следния начин:

Абонирай се за темата Рейтинг: Няма