Uživatelem definovaná funkce

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Uživatelem definovaná funkce je termín, který se v informatice a programování používá pro označení programového kódu, který je vytvořen uživatelem a slouží k rozšíření funkcí nebo chování existujícího softwaru. Uživatelem definovaná funkce umožňuje uživatelům upravit a přizpůsobit software jejich potřebám a preference. Uživatelem definovaná funkce může být implementována v různých programovacích jazycích a prostředích, například vytvořením skriptu, modulu nebo pluginu. Tento kód může interagovat s jádrem softwaru a přidávat nové funkcionality, upravovat existující chování nebo přizpůsobovat uživatelské rozhraní. Využití uživatelem definované funkce se vyskytuje v mnoha oblastech, jako je vývoj webových stránek, správa databází, automatizace úloh nebo vytváření specifických funkcí v rámci vývojových prostředí. Umožňuje uživatelům vytvářet přizpůsobený software, který odpovídá jejich individuálním potřebám a požadavkům. Uživatelem definovaná funkce přináší mnoho výhod, jako je zvýšení efektivity práce, zjednodušení procesů, zlepšení uživatelského prostředí a možnost vytvoření jedinečných a inovativních aplikací. Uživatelé mají také možnost sdílet své vytvořené funkce s ostatními uživateli a přispívat tak k rozšíření a zdokonalení celkového softwaru.

Uživatelsky definovaná funkce, taktéž UDF (z anglického User-Defined Function), představuje funkci, kterou definuje sám uživatel programu nebo prostředí.

Programovací jazyky

Uživatelsky definované funkce se zpravidla používají při strukturovaném programování, kdy se při řešení úloh krom vestavěných funkcí používají i funkce uživatelsky definované. Použití shodné uživatelsky definované funkce je vesměs pomalejší, než použití shodné, vestavěné.

Databáze

V SQL databázích poskytují uživatelsky definované funkce způsob rozšíření, který může být volán a vyhodnocován přímo v SQL dotazech. SQL standard rozšiřuje mezi skalárními a tabulkovými funkcemi. +more Skalární funkce vrací pouze jedu hodnotu (nebo NULL) zatímco tabulková funkce vrací tabulku. Tabulka může mít dle charakteru funkce jeden či více sloupců a vracet žádný či více řádků výsledku.

Uživatelsky definované funkce se v SQL deklarují pomocí příkazu CREATE FUNCTION. Například funkce pro výpočet druhé mocniny může vypadat takto:

CREATE FUNCTION dbo.Square(Base FLOAT) RETURNS FLOAT RETURN (Base * Base)

Takto definovanou funkci lze použít jako výraz v SQL dotazech a to v místech, kde se používá většina vestavěných funkcí včetně SELECT dotazů, kde je funkce vyhodnocována v každém řádku dotazu. Na příklad dotaz z tabulky hodnot

SELECT Value, Square(Value) as Square FROM Values

vrátí v jednom sloupci hodnotu a v druhém její druhou mocninu. V těle funkce lze použít konstrukcí jazyka PL/SQL.

Některé databáze (například Firebird) pomocí uživatelských funkcí zpřístupňují externí knihovny, napsané v běžných programovacích jazycích. V takovém případě vypadá deklarace následovně (příklad definice funkce ltrim z externí knihovny IB_UDF dodávané společně se serverem):

declare external function ltrim cstring(255) null returns cstring(255) free_it entry_point 'IB_UDF_ltrim' module_name 'ib_udf';

Takto definovaná funkce je zpravidla rychlejší, než uložená procedura se stejnou funkcionalitou.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top