Oracle-style packages were introduced in MariaDB 10.3.5.
SHOW CREATE PACKAGE BODY [ db_name . ] package_name
The SHOW CREATE PACKAGE BODY
statement can be used when Oracle SQL_MODE is set.
Shows the CREATE
statement that creates the given package body (i.e. the implementation).
SHOW CREATE PACKAGE BODY employee_tools\G *************************** 1. row *************************** Package body: employee_tools sql_mode: PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER Create Package Body: CREATE DEFINER="root"@"localhost" PACKAGE BODY "employee_tools" AS stdRaiseAmount DECIMAL(10,2):=500; PROCEDURE log (eid INT, ecmnt TEXT) AS BEGIN INSERT INTO employee_log (id, cmnt) VALUES (eid, ecmnt); END; PROCEDURE hire(ename TEXT, esalary DECIMAL(10,2)) AS eid INT; BEGIN INSERT INTO employee (name, salary) VALUES (ename, esalary); eid:= last_insert_id(); log(eid, 'hire ' || ename); END; FUNCTION getSalary(eid INT) RETURN DECIMAL(10,2) AS nSalary DECIMAL(10,2); BEGIN SELECT salary INTO nSalary FROM employee WHERE id=eid; log(eid, 'getSalary id=' || eid || ' salary=' || nSalary); RETURN nSalary; END; PROCEDURE raiseSalary(eid INT, amount DECIMAL(10,2)) AS BEGIN UPDATE employee SET salary=salary+amount WHERE id=eid; log(eid, 'raiseSalary id=' || eid || ' amount=' || amount); END; PROCEDURE raiseSalaryStd(eid INT) AS BEGIN raiseSalary(eid, stdRaiseAmount); log(eid, 'raiseSalaryStd id=' || eid); END; BEGIN log(0, 'Session ' || connection_id() || ' ' || current_user || ' started'); END character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: latin1_swedish_ci
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/show-create-package-body/