My sql 存儲過程實例

DROP PROCEDURE IF EXISTS pro_getNewCG;-- 如果存在,刪除名爲 pro_getNewCG 的存儲過程
CREATE PROCEDURE pro_getNewCG (OUT id VARCHAR(20)) -- 創建存儲過程 名爲:pro_getNewCG 帶一個輸出參數 id
BEGIN -- 固定格式 以 BEGIN 開始  ,END 結束
	DECLARE taday VARCHAR (20);-- 申明變量 格式: Declare 變量名 變量類型
	DECLARE counts INT;
	DECLARE adds INT;
	DECLARE maxx VARCHAR (20);
	SET taday = DATE_FORMAT(NOW(), '%Y%m%d');-- 給變量賦值 格式 Set = 值
	SELECT count(*) INTO counts FROM Stock WHERE substring(sId, 3, 8) = taday; -- 改變變量值 格式 SELECT 結果 INTO  變量名 FROM 表 WHERE 條件
	IF (counts > 0) THEN SELECT max( CONVERT (substring(sId, 3, 12), signed)) INTO maxx FROM Stock WHERE substring(sId, 3, 8) = taday;
		SET maxx = substring(maxx, 9, LENGTH(maxx) - 8);
			IF (maxx = '') THEN SET adds = 1; -- 判斷 格式 IF ELSE END IF
			ELSE SET adds = CAST(maxx AS UNSIGNED INTEGER) + 1;
			END IF;
		SET maxx = CONCAT(taday, adds);
		SET id = CONCAT('CG', taday);
		SET id = CONCAT('CG', CONVERT(maxx, signed));
		ELSE SET id = CONCAT('CG', taday);
	END IF;
END;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章