Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да създадете PL/SQL функция в базата данни на Oracle

И така, сега, когато вече научихме в предишния урок за PL/SQL за това какво представляват функциите PL/SQL в Oracle Database, нека да направим скок напред и да научим как да създадем PL/SQL функция с помощта на много прост пример.

Този урок ще изисква правилно познаване на синтаксиса на функциите PL/SQL, така че ще ви предложа първо да разгледате предишния урок. Като се има предвид това, нека започнем този урок.

За да запазим този урок прост и лесен за разбиране, ще създадем много лесна функция, която ще изчисли площта на кръг. Предполагам, че това ще послужи на целта и ще ви помогне да научите как да създавате PL/SQL функции в Oracle Database.

Както беше обсъдено в предишния урок, тялото на функцията е разделено на две части

  • Първо е заглавката на функцията PL/SQL и
  • Втората е частта за изпълнение на функцията PL/SQL

Така че нека започнем със заглавката на нашата функция.

Стъпка 1. Създайте заглавката на PL/SQL функция.

Заглавката се състои от подписа на функцията или декларацията на PL/SQL функцията.

--Function Header
CREATE OR REPLACE FUNCTION circle_area (radius NUMBER) 
RETURN NUMBER IS

Стъпка 2. Декларирайте променливи или константата.

Ако програмата ви изисква да декларирате променлива, константа или нещо друго, тогава можете да го направите веднага след създаването на заглавката, също без да използвате ключовата дума DECLARE.

--Declare a constant and a variable
pi  	CONSTANT NUMBER(7,2) :=	3.141;
area 	NUMBER(7,2);

Стъпка 3. Създайте изпълнителната част на функцията PL/SQL.

След като сте създали заглавката на вашата функция и сте декларирали всичките си необходими променливи, както и константи, тогава сте готови да създадете частта за изпълнение на вашата PL/SQL функция. Тук, в секцията за изпълнение на PL/SQL функция, вие пишете всичките си оператори за изпълнение. Тази част също така дефинира работата на вашата функция.

BEGIN
  --Area of Circle pi*r*r;
  area := pi * (radius * radius);
  RETURN area; 
END;
/

Бърза информация:
За да изчислите квадрата на радиуса на окръжността в областта на кръга, можете също да използвате вградената функция POWER (p, q). Тази функция приема два цифрови входа и връща една числова стойност, която ще бъде отговорът на аритметичния израз на p, повишаване на q.

Сега нека обединим всички горепосочени парчета кодове в едно именуване.

PL/SQL функция за изчисляване на „Площ на кръга“.

--Function Header
CREATE OR REPLACE FUNCTION circle_area (radius NUMBER) 
RETURN NUMBER IS
--Declare a constant and a variable
pi  	CONSTANT NUMBER(7,2) :=	3.141;
area 	NUMBER(7,2);
BEGIN
  --Area of Circle pi*r*r;
  area := pi * (radius * radius);
  RETURN area; 
END;

Успешната компилация ще създаде наименуван PL/SQL блок, който е вашата PL/SQL функция с името circle_area.

Тъй като функциите PL/SQL се наричат ​​PL/SQL блок, така че те се запазват за постоянно във вашата база данни, която можете да използвате по всяко време.

За да видите вашата PL/SQL функция в действие, трябва да я извикате чрез вашата програма. Вашата програма може да бъде анонимен PL/SQL блок или наречен PL/SQL блок или дори да използва оператор SELECT. Няколко от тези различни начини за извикване на функция са демонстрирани в моя видео урок по същата тема в моя канал в YouTube. Силно ви насърчавам да гледате това видео.

Но в случай, че искате да направя отделен блог за извикване на PL/SQL функция, тогава ми пишете в моя Facebook или оставете Tweet в моя Twitter.

Това е всичко за този урок за това как да създадете PL/SQL функция в Oracle Database. Не забравяйте да споделите този блог в социалните си медии и да помогнете на другите в ученето.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle - литералът не съвпада с грешка в низа за форматиране

  2. Връщане на стойността на колоната за идентичност след вмъкване в Oracle

  3. Какво е Oracle Database?

  4. Как можете да разберете дали се използва PL/SQL пакет, процедура или функция?

  5. Какво означава %Type в Oracle sql?