问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql create database by procedure 存储过程 创建DB

发布网友 发布时间:2022-05-07 23:58

我来回答

4个回答

懂视网 时间:2022-05-08 04:19

根据spam_keyword表中的kid对word列逐行逐字分割到t表中,并且统计每个字的数量。

用了两层循环,外循环游标读行,内循环stroo++读字。

drop procedure if exists proc134f;
CREATE PROCEDURE proc134f()
BEGIN
declare kidoo int;
declare tid int;
declare stroo int;
declare str varchar(255);
declare strlength int;
declare istr varchar(3);
declare istr_cnt int;
declare done int;-- 游标用
declare cur_kid CURSOR for select kid from spam_keyword;-- 游标用
declare continue handler for not found set done=1;-- 游标用,据说是直达引擎的通道
set tid=0;
delete from t;
open cur_kid;-- 开启游标
loop1:loop-- 开启1层外循环
fetch cur_kid into kidoo; -- 从定义的范围中读取下一行并赋予
if done=1 then leave loop1;end if;-- 判断是否 found 下一行,否则跳出
select word into str from spam_keyword where kid=kidoo;
set str=replace(str,' ','');
set strlength=char_length(str);
set stroo=0;
loop2:loop-- 2层内循环
set stroo=stroo+1;
set istr=substr(str,stroo,1);
select count(*) into istr_cnt from t where t=istr;-- 计数
if istr_cnt<>0 then update t set cnt=cnt+1 where t=istr;else
set tid=tid+1;
insert into t set id=tid,t=istr,cnt=1;end if;
if stroo>=strlength then leave loop2;end if;end loop loop2;

set done=0;
end loop loop1;
close cur_kid;-- 关闭游标
select * from t order by cnt desc;
END;

热心网友 时间:2022-05-08 01:27

你直接运行下面代码就可以创建存储过程,直接调用就好了,一些判断条件就自己加吧
DELIMITER //
CREATE DEFINER=`root`@`localhost` PROCEDURE `create_db_proc`(
IN `dbname` varchar(45)
)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
begin

set @sql = '';

set @sql = concat('create database ',dbname);

prepare stmt from @sql;

execute stmt;

end //
DELIMITER ;

热心网友 时间:2022-05-08 02:45

你写的有问题,
create procere create_db_proc ( in dbname varchar(45))
begin
create database dbname if not exists dbname ;
end

热心网友 时间:2022-05-08 04:20

CREATE DATABASE IF NOT EXISTS db;语句上可能有语法错误,在db处.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人民币贬值对人民有什么影响 长春市办理设立个人律师事务所需要什么材料? 学生签证的延期都需要以下材料: 米3手机套彩绘小米3彩膜 骑马与砍杀光明与黑暗泡菜编队方法 陈染相关作品介绍 万紫千红是指什么生肖,精准已答落实 十二生肖谁是万紫千红 手机里带的网络电视怎么联接到笔记本电脑上看呢? ...手机,电脑连上网了,智能电视能连上看电视吗,怎样能看智能电视_百度... 听说绣玲珑的苏绣很好看,有没有买过的? 苏绣和广绣谁更好,苏绣和广绣谁更好? pingg11有几个型号 苏州比较好的苏绣公司是哪家? 哪里的苏绣最好?价钱适中? 在北京买苏绣哪家店的比较好? 苏绣手提包要去哪个苏绣牌子买好? 刺绣品牌哪种比较好? 想要买幅苏绣挂画,去找哪个苏绣牌子好? 苏绣工艺品要买哪个牌子好啊? 不知道苏绣旗袍要去哪个苏绣牌子好,要靠谱的那种? 苏绣牌子要找哪个好啊,要那种产品质量高的? 哪里有好一点的苏绣? 苏绣的辨别优劣 岳母喜欢苏绣,谁家的能好一点呀? 哪个牌子的苏绣比较好,有没有什么推荐的? 硬度高耐磨涂料有哪些知道的说说 河北志鸿塑料制品制造有限公司怎么样? 高硬度耐磨材料有哪些? 问下大家,一般都是选择什么品牌的超高分子量聚乙烯耐磨板? 听说M可乐都是可乐粉+气兑成的,成本才几毛钱。真的吗? 麦当劳里卖的是“可口”还是“百事&#39;? 一杯可乐m毫升小胖喝了一半多二十毫升还剩多少毫升 可口可乐的由来 为什么麦当劳都变成零度可乐? 台式电脑有线连接无线路由器上网改成无线连接无线路由器怎么弄? XP系统的笔记本怎么把把有线网转换成无线网? 如何让类似宾馆的有线网络变成无线wifi,这样就可以再房间里用手机,ipad等wifi设备了。 可否从钱包判断一个人有没有钱?有钱人的钱包通常装什麼? 有线局域网如何变无线局域网连接? 有线网络如何转化为无线信号! 有钱人低调拿什么钱包 如何将有线网转化为无线网 有钱人为何用长钱包?有钱人都用长钱包吗? 钱包有哪些牌子? 美容主诊医师考试条件? 中医主治医师报考条件 执业医师报考整形主治需要哪些条件 我本科是中医美容专业,有中医执业医师证,要整形医师证需要什么条件?美容主诊医师又需要什么报考资格? GEDAO无线麦克风系统+HK-555