1 前言 由于项目需要,当某个表如果有记录,就不执行加入语句,否则加入新纪录(测试数据).思路是:判断表的记录是否为空,然后再决定是否插入 2 代码 DROP PROCEDURE IF EXISTS insert_record; DELIMITER $$ CREATE PROCEDURE insert_record() BEGIN DECLARE num INT; select count(*) into num from `bill`; if num = 0 then INSERT INTO
DELIMITER// CREATE PROCEDURE setRoomManger2() BEGIN ); ; DECLARE cur CURSOR FOR SELECT roomid FROM nst_t_room; ; OPEN cur; FETCH NEXT FROM cur INTO roomids; REPEAT IF NOT done THEN ,roomids,); END IF; FETCH NEXT FROM cur INTO roomids; UNTIL done END
mysql需要导入某前缀例如12345为前缀的,后缀扩展2位 即00-99. 利用存储过程插入数据. DROP PROCEDURE IF EXISTS insert_popsms_code;DELIMITER // ) ) BEGIN ; DECLARE channelId int; ); do ) then ',i); else set codeNum = CONCAT(prefix,i); end if; ' ) then ; ELSEIF(prefix ') then ; else ; e
可以用 命令"show PROCEDURE status"查看所有的存储过程或检索系统表"mysql.proc"来查询已有的存储过程.例如:用show PROCEDURE status命令查看:-- 查看所有的存储过程show PROCEDURE status; -- 查看特定数据库存储过程show PROCEDURE status where db='test'; -- 用指定的登录名查看该用户创建的存储过程show PROCEDURE status where
条不重复的数据,使用以下: 秒以上 搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据. SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id ; 万条的表,查询只需要0.01秒不到. 上面的语句采用的是JOIN,mysql的论坛上有人使用 SELECT * FROM `
SELECT COUNT(*) AS 多少组数FROM( SELECT id FROM 表 GROUP BY id) subQuery;Mysql,有一个表含有以下字段,uid 发帖人id,title 发帖标题,tc 发帖内容,time 发帖时间,用一条语句算出昨天发帖书大于10的,一共有多少人? select count(*) from (select distinct startperson_id,count(startperson_id) as num from apphome_finan
# 使用的navicat 编辑的存储过程 CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_student_back`()BEGIN#定义max变量 DECLARE max INT DEFAULT 0; select max(id) into max from student_back; #判断是不是空值 是空值就赋值为0 if max is null then set max = 0; end if; #备份数据 INSERT INTO
在日常的SQL Server数据查询时经常会遇到需要将数据列转换成行的操作,现将自己学习的列转行SQL语句举例如下: --首先查询语句 SELCT * FROM YXBAK..TBYJKSTEMP --列转行的两种方法 --列转行第一种方法,使用CASE ... WHEN ... THEN ... ELSE ... ENDSELECT 开单科室, SUM(CASE 执行科室 WHEN '检验科' THEN 数量 ELSE 0 END) AS '检验科', SUM(CASE 执行科室 WHEN
select distinct mr.id,ifnull(mr.pid,0) as pid,mr.name from sys_role_res srr left join main_res mr on mr.id=srr.res_id left join sys_role sr on sr.id=srr.role_id left join bas_member_role bmr on bmr.role_id=sr.id left join bas_member bm on bmr.member_
经常需要测试数据,写个存储过程方便日后使用. DROP PROCEDURE IF EXISTS add_member; DELIMITER $$ CREATE PROCEDURE add_member (IN loop_times INT) BEGIN ; WHILE member_account < loop_times DO ; INSERT INTO t_member ( member_name, member_password ) VALUES ( member_account, 'e1