CPA-Мастер
Блог о заработке на партнёрских программах в CPA-сетях

Пакеты с переменными, процедурами и функциями в PL/SQL

Пакеты PL/SQL являются объектами базы данных (схемы), которые объединяют в себе связанные по смыслу подпрограммы (переменные, курсоры…). В этом посту рассмотрим простейший пример объявления пакета, его реализации и использования.

Состоят пакеты из спецификации и тела (body). Спецификация состоит из объявления субпрограмм, это что-то типа хедера в C. В коде ниже мы создаём спецификацию пакета cpa_master, которая содержит переменную, две процедуры и одну функцию. Переменная содержит адрес блога CPA-мастер. Первая процедура ровно как и функция не требуют никаких параметров, второй процедуре передаются два числа. Дополнительно функция возвращает строку.

create or replace package cpa_master as

v_url varchar2(50) := 'http://cpa-master.com/';
procedure hello_world;
procedure print_sum(x number, y number);
function get_url return varchar2;

end cpa_master;

Тело пакета содержит имплементацию процедур и функции.

create or replace package body cpa_master as

procedure hello_world as
begin
    dbms_output.put_line('Hello world!');
end hello_world;

procedure print_sum(x number, y number) as
    result number;
begin
    result := x + y;
    dbms_output.put_line('result: ' || result);
end print_sum;

function get_url return varchar2 as
begin
    return v_url;
end get_url;

end cpa_master;

В коде ниже мы вызываем функции и процедуры пакета в PL/SQL.

cpa_master.hello_world();
cpa_master.print_sum(5, 2);
dbms_output.put_line(cpa_master.get_url() );

Функцию можно также использовать в SQL-запросе.

select cpa_master.get_url() as url from dual;
Понравился пост? Поделись в соцсетях и подписывайся на аккаунты в Twitter и Facebook!

Leave a comment

Your email address will not be published.

*