首页 > 数据库 > mysql教程 > 存储过程生成主键

存储过程生成主键

WBOY
发布: 2016-06-07 14:57:29
原创
1634 人浏览过

存储过程生成主键 MySQL delimiter $$CREATE PROCEDURE generateKeys(in pm_name varchar(20))begindeclare curr_Key varchar(20);declare next_Key varchar(20);declare prefix_Value varchar(5);declare suffix_value int;select x.nextValue,x.DefaultPref

存储过程生成主键 MySQL
delimiter $$
CREATE PROCEDURE generateKeys(in pm_name varchar(20))
begin
	declare curr_Key varchar(20);
	declare next_Key varchar(20);
	declare prefix_Value varchar(5);
	declare suffix_value int;
	
	select x.nextValue,x.DefaultPrefix,x.suffixValue into curr_Key,prefix_Value,suffix_Value from pm_tableprimaryinfo x where x.table_name=pm_name;
	
	if (curr_Key is null or curr_Key='') THEN 
		set suffix_Value='0';
	else
		set suffix_Value = suffix_Value+1;
	END if;
	set curr_Key = concat(prefix_Value, suffix_Value);

		
	update pm_tableprimaryinfo x set x.nextValue=curr_Key, x.suffixValue=suffix_Value where x.table_name=pm_name;

	SELECT curr_Key; 

END
登录后复制
call generateKeys(tableName);
登录后复制
CREATE TABLE `pm_tableprimaryinfo` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`table_name` VARCHAR(30) NULL DEFAULT NULL,
	`primaryName` VARCHAR(30) NULL DEFAULT NULL,
	`nextValue` VARCHAR(50) NULL DEFAULT NULL,
	`DefaultPrefix` VARCHAR(30) NULL DEFAULT NULL,
	`suffixValue` INT(11) NULL DEFAULT NULL,
	PRIMARY KEY (`id`)
)
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板