Хранимые процедуры.
Это обьект СУБД, который хранит в себе набор sql-инструкций, он обычно хранится в откомпилированном виде, что обеспечивает его продуктивный вызов.
Обычно хранимая процедура вызывается так:
CALL имя(параметры)
или
EXECUTE имя(параметры).
Внутри хранимой процедуры могут быть контрукции циклов, условий, локальные переменные. Результат может возвращаться из процедуры в виде простого типа, набором данных(как из SELECT), через изменяемые входящие аргументы. После первого вызова, процедура обычно компилируется и хранится в откомпилированном виде, что значительно увеличивает производительность последующих вызовов.
Хранимые процедуры также используют в целях безопасности, к базе разрешается доступ только через хранимые процедуры, их внутренность обфусцируется, при этом нигде не видно структуры базы данных.
Хранимые процедуры пишутся как на языке SQL, так и на других языках программирования.
Например возможности MS SQL Server:
1) Transact-SQL
2) Откомпилированные Win32-DLL библиотеки с функциями на c++/delphi. Это называются расширенные хранимые процедуры. От них в будущем хотят отказаться.
3) С MS SQL Server 2005 хранимые процедуры можно писать на любых языках .NET.
Для Oracle:
1) PL/SQL (Procedural Language\SQL).
2) Java. Хранимые процедуры можно компоновать в пакеты.
Для PostgreSQL:
1) PL/pgSQL
2) PL/Python.
3) PL/Perl.
Для IBM DB2:
1) SQL/PL
Для MySQL:
1) сама реализация sql следует близко стандарту sql:2003, его процедурные конструкции похожи на SQL/PL.
Комментариев нет:
Отправить комментарий