Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

SQL Dialects Reference/Procedural language/User-defined functions

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

User-defined functions (UDF) Database Create syntax Calling DB2CREATE FUNCTION function_name (input_parameter_name datatype, ...) RETURNS return_type BEGIN /* SQL code */ ENDVALUES function_name(...) or SELECT function_name(...) FROM ... WHERE function_name(...) = ... MonetDBCREATE [ OR REPLACE ] FUNCTION function_name (input_parameter_name datatype, ...) RETURNS return_type /* return type can also be a table structure */ BEGIN /* SQL code */ END CREATE [ OR REPLACE ] FUNCTION function_name (input_parameter_name datatype, ...) RETURNS return_type /* return type can also be a table structure */ LANGUAGE { C | CPP | R | PYTHON3 | PYTHON3_MAP } { function_body_in_language_syntax } CREATE [ OR REPLACE ] FUNCTION function_name (input_parameter_name datatype, ...) RETURNS return_type /* return type can also be a table structure */ EXTERNAL NAME MAL_function_nameSELECT function_name(...) /* when the return type of the function is a table, following is allowed */ SELECT ... FROM function_name(...) MySQLDELIMITER $$ CREATE FUNCTION function_name (input_parameter_name datatype, ... ) RETURNS datatype BEGIN RETURN /* SQL code */ END$$ DELIMITER ;SELECT function_name(...) PostgreSQLCREATE FUNCTION function_name (input_parameter_name datatype, ...) RETURNS datatype AS $$ DECLARE variable_name datatype; BEGIN /* SQL code */ END; $$ LANGUAGE plpgsql;SELECT function_name(...) FirebirdUDFs are written in external tools and compiled into executable form. They are dynamically loaded at runtime. In order for server to pick them up, they need to be registered, like this: DECLARE EXTERNAL FUNCTION function_name [datatype, ...] RETURNS datatype ENTRY_POINT 'entryname' MODULE_NAME 'modulename';SELECT function_name(...) OpenLink Virtuoso OracleCREATE OR REPLACE my_function(p_contract IN VARCHAR2, p_org_id IN VARCHAR2) RETURN DATE AS l_ret_eff_date DATE := SYSDATE; BEGIN RETURN l_ret_eff_date; END; /SELECT my_function('PARM1', 'ORG1') FROM dual; SQLiteN/AN/A SQL Server