mysql存储过程输入参数拆分_一文看懂mysql数据库存储过程、函数、视图、触发器、表...
生活随笔
收集整理的這篇文章主要介紹了
mysql存储过程输入参数拆分_一文看懂mysql数据库存储过程、函数、视图、触发器、表...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
抽空總結一下mysql的一些概念性內容,涉及存儲過程、函數、視圖、觸發器等。
一、查看存儲過程、函數、視圖、觸發器、表
1、存儲過程
select * from mysql.proc where type='PROCEDURE';show procedure status; show create procedure proc_name; //存儲過程定義2、函數
select * from mysql.proc where type='FUNCTION';show function status;show create function func_name; //函數定義3、視圖
SELECT * from information_schema.VIEWS SHOW CREATE VIEW 視圖名4、表
SELECT * from information_schema.TABLES show create table table_name;5、觸發器
SELECT * FROM information_schema.triggers;show create trigger trigger_name;二、函數
mysql自定義函數就是實現程序員需要sql邏輯處理,參數是IN參數,含有RETURNS字句用來指定函數的返回類型,而且函數體必須包含一個RETURN value語句。
1、語法:
創建: CREATE FUNCTION 函數名稱(參數列表) RETURNS 返回值類型 函數體修改: ALTER FUNCTION 函數名稱 [characteristic ...]刪除: DROP FUNCTION [IF EXISTS] 函數名稱調用: SELECT 函數名稱(參數列表)2、實例
CREATE DEFINER=`root`@`%` FUNCTION `getUnitChildList`(employeeCode VARCHAR(30)) RETURNS text CHARSET utf8BEGIN #最終返回的組織code字符串 DECLARE codeResult TEXT DEFAULT "-1"; #最終返回的組織id字符串 DECLARE result TEXT DEFAULT "-1"; #組織id的中間字符串 DECLARE sTempChd VARCHAR(10000); #最上層組織的字符串 DECLARE currentCode VARCHAR(10000) DEFAULT '-1'; #游標是否結束標識 DECLARE endFlag INT DEFAULT 0; #定義游標-unitCur,查詢出當前員工擁有的所有崗位的組織code DECLARE unitCur CURSOR FOR SELECT DISTINCT pos.unit_code FROM hr_org_position_b pos LEFT JOIN hr_employee_assign ass ON pos.POSITION_CODE = ass.POSITION_CODE LEFT JOIN hr_employee HE ON he.EMPLOYEE_CODE = ass.EMPLOYEE_CODE WHERE he.EMPLOYEE_CODE = employeeCode AND ass.ENABLED_FLAG = 'Y' AND pos.ENABLED_FLAG = 'Y'; #結束set為1 DECLARE CONTINUE HANDLER FOR NOT FOUND SET endFlag = 1;#開始遍歷游標 OPEN unitCur; REPEAT FETCH unitCur INTO currentCode; SET sTempChd = currentCode; #當前組織也加上 SET result=CONCAT(result,總結
以上是生活随笔為你收集整理的mysql存储过程输入参数拆分_一文看懂mysql数据库存储过程、函数、视图、触发器、表...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android保存自定义路径的图片的一些
- 下一篇: MySQL DML语言笔记