当前位置:网站首页>我想造SQL数据(存储结构)

我想造SQL数据(存储结构)

2022-06-26 07:43:00 QuietSnow_wuyaya

场景:
----上游给数不方便,同时不依赖对方给的数据。
----表里字段多,每次改很麻烦

方式:写存储结构
在这里插入图片描述

举个例子:

SET @myCompNo=DATE_FORMAT(NOW(),'666%y%m%d%H%i%s'); -- 解读:单号不想每次手动编,根据当前的年月日时分秒自动生成

-- 解读:表里插数,id不能重复一般设null,comp_no就是上面自动生成的,create_time要求生成15天前的,update_time一般设为当前时间
INSERT INTO alibb_ses.comp_info (id, comp_no, create_time, update_time)
VALUES (null, @myCompNo, date_sub(now(),interval 15 day),now());


-- 查造好的comp_no
select @myCompensatenNo;

(记得Ctrl A然后run……有一次一条一条运行人傻了)↑ 这是一个比较简单的例子。

如果要造更复杂一点的,用游标等等。比如我想造用户:
第一段:

create
    definer = [email protected]`%` procedure create_user(IN name varchar(50), IN a int, IN house varchar(50))
BEGIN
-- 定义变量
DECLARE user_id bigint(15); -- 这个变量好像没用到
DECLARE house_id varchar(50);
DECLARE ro_id varchar(1024);
DECLARE b int;
-- 开启游标
SELECT bas_house_id into house_id from bas_house where house_code=house;
set b=1;
 while b<=a DO
-- 循环开始
-- 更新表
INSERT INTO `user` (`USER_ID`,…………) VALUES (username, …………);
SELECT SYS_ROLE_ID into role_id from sys_role where ROLE_NAME='admin' ;
INSERT INTO `SYS_ROLE_USER` (……) VALUES (……);
set b = b+1; 
end WHILE;
end;

第二段:调用

#造用户
CALL `create_user`('myName',1,'myHome');

#造好后查看数据
SELECT* FROM sys_user ORDER BY 1 DESC;

后续:

原网站

版权声明
本文为[QuietSnow_wuyaya]所创,转载请带上原文链接,感谢
https://blog.csdn.net/QuietSnow_wuyaya/article/details/125429999