MySql编写一个存储过程?

MySql编写一个存储过程?,第1张

1、delimiter // ,声明分隔符:DELIMITER是分割符的意思,因为MySQL默认以""为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将""当做存储过程中的代码,不会执行这些代码(这里如果不懂的话,你可以通过试错的方法来理解)。2、编写存储过程的格式:CREATE PROCEDURE([[IN |OUT |INOUT ]参数名数据类形...])例子:1)create procedure proc1(out s int) // 只有输出2)create procedure proc2(in p_in bigint) // 只有输入3)create procedure proc15() // 没有输入与输出4)create procedure demo_multi_param(in id bigint,in name varchar(32),out c int) //多输入与输出3、过程体的开始与结束使用BEGIN与END进行标识。4、select count (*) into s from student// 过程体,一系列的逻辑语句,sql语句5、delimiter 用完了之后要把分隔符还原。

更改数据库值 和语言关系不大,这是对数据库的 *** 作 你只需按照mysql *** 作方法 update `表` set `字段`=`新值` where 条件 如 `id`=1 就可以更改数据库内某个指定的值了。至于怎么显示 怎么赋值 那些才是语言的事情,只要对数据库数据的 *** 作 都是 数据库的事情

这个是存储过程

比方说要写一个存储过程,向库里循环插入 500 条记录

存储过程如下:

delimiter $$

create procedure lucia_proc16(count int)

begin

DECLARE name_proc VARCHAR(20) CHARACTER SET utf8

DECLARE sex_proc VARCHAR(4) CHARACTER SET utf8

DECLARE age_proc INT(10)

DECLARE class_proc VARCHAR(20) CHARACTER SET utf8

DECLARE Addr_proc VARCHAR(50) CHARACTER SET utf8

DECLARE i INT

set i = 1

set sex_proc = '女'

set age_proc = 20

set class_proc = '初三(2)班'

set Addr_proc = '北京市朝阳区'

while i<count do

set name_proc = CONCAT('皮卡丘',i)

insert into students(Name,Sex,age,class,Addr)values(name_proc,sex_proc,age_proc,class_proc,Addr_proc)

set i = i+1

end while

end

$$

delimiter

调用这个存储过程:

call lucia_proc16(500)

运行效果就是向库里插入了 500 条记录


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5904242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存