mysql實現自動生成學號

2021-09-25 08:41:42 字數 1214 閱讀 9409

-- 建立班級資訊表:

create table xidian_class (

id int primary key auto_increment,

class varchar(10),

room int

);-- 插入資料

insert into xidian_class values

(null,'xd0115',207),

(null,'xd0228',104),

(null,'xd0331',102),

(null,'xd0505',202);

-- 建立學生資訊表

create table xidian_stu (

stu_id int primary key auto_increment,

stu_no varchar(10),

class_id int,

stu_name varchar(10)

);-- 插入一條資料

insert into xidian_stu values(null,'xd0115004',3,'李娜');

-- 自動生成學號函式

delimiter $$

create function xd_sno(c_id int) returns char(10)

begin

declare s_no char(10); #儲存當前班級內最大學號,如果沒有就是null

declare class_name char(6);

-- 找最大學號

select stu_no from xidian_stu where class_id = c_id order by stu_no desc into s_no ;

if isnull(s_no ) then

-- 沒有學生從1開始獲得班級學號

select class from xidian_class where c_id = id into class_name;

return concat(class_name, '001');

else

-- 有學生,則最大學號加1

return concat(left(s_no, 6) , lpad(right(s_no, 3) + 1, 3, '0'));

end if;

end$$

delimiter ;

mySQL 自動生成編號

create table table 1 id int unsigned not null primary keyauto increment,id列為無符號整型,該列值不可以為空,並不可以重複,而且自增。name varchar 5 not null auto increment 100 id列從...

oracle中實現主鍵自動生成

id是主健,實現插入乙個name,id自動增加 sql create table t1 id number,name varchar2 10 sql create sequence t1id seq 2 minvalue 1 3 maxvalue 999999 4 start with 1 5 in...

前端自動生成Change Log的實現

快速可互動的搭建生成change log更新日誌,來提高自己的工作效率。要實現change log自動生成,需要有指令碼可以根據專案提交的commit自動生成change log 然後還有指令碼自動生成版本號,而且每次生成可以自動修改版本號,還需要把生成的change log 的markdown檔案...