create table random_num (num int);
drop procedure if exists ran1;
create procedure ran1(num int)
begin
declare i int;
set i = 0;
while i
2.repeat循环:
delimiter //
create table random_num (num int);
drop procedure if exists ran2;
create procedure ran2(num int)
begin
declare i int;
set i = 0;
repeat
insert into random_num values(rand()*89+10);
set i = i+1;
until i>num end repeat;
select * from random_num;
end//
3. loop循环:
delimiter //
create table random_num (num int);
drop procedure if exists ran3;
create procedure ran3(num int)
begin
declare i int;
set i = 0;
L:loop
insert into random_num values(rand()*89+10);
set i = i+1;
if i>10 then
leave L;
end if;
end loop;
select * from random_num;
end//
1.while循环delimiter //create table random_num (num int);drop procedure if exists ran1; create procedure ran1(num int) begin declare i int; set i = 0; while i<num do insert...
今天在做oracle转mysql的时候遇到了一个小问题,需要查出1-100的连续数字处理一些逻辑,特此记录一下。在oracle中查询1-100的连续数字比较容易,可以借用dual表和level就可以快速简单实现。
那么问题来了,dual表是oracle的特性,mysql中没有dual表也没有level列,要如何实现呢?经过我一通百度,发现了一个需要利用业务表的方法:
1、先初始化rownum变量为0,且将这个一行一列的0作为一张临时表r(select @rownum:=0)
2、将r这个临时表与业务表相关联
序列号(Code):8d8120df-a5c3-4989-8f47-5afc79c56e7c
姓名(Name):cr173
序列号(Code):59adfdfe-bcb0-4762-8267-d7fccf16beda
姓名(Name):cr173
序列号(Code):ec38d297-0543-4679-b098-4baadf91f983
select xxx,yyy,zzz from Table
二、导入数据库样例
导入外部的.sql文件:这里指的是《MySQL必知必会》这本书中的样例,首先下载下来两个文件,放在E盘的根目录下,名字如下:
然后在mysql的命令行中,选择一个自己建的数据表或者选定已有的:
CREATE DATABASE midi;
USE mid...
这个函数使用了循环结构while语句,通过累加每个整数来计算它们之间的总和。在循环过程中,我们使用了三个变量:start_num表示开始整数,end_num表示结束整数,total表示它们之间所有整数的总和。最后,我们使用RETURN语句返回总和。
要使用这个函数,只需要在MySQL中调用它并传入开始和结束整数,例如:
```sql
SELECT SUM_BETWEEN(1, 10); -- 返回55