找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
存储过程
1、什么是存储过程 存储过程是完成特定功能的sql语句集合。通过编译后存储在数据 库中,通过指定的存储过程名称调用执行它。 存储过程=sql语句集合+控制语句
2、使用存储过程的优点
1)存储过程创建可以多次调用,不需要重新编写存储过程语句。
2)假如要往表中插入大量的测试数据,用insert into语法执行速 度太慢,效率较低,那么这个时候可以通过编写存储过程,把需要 插入的数据sql集合放入存储过程的函数体当中,创建存储过程, 下次即可调用
3)存储过程加快程序的运行速度
4)存储过程增加sql语句的功能和灵活性、创建的存储过程可以重复使用。
3、第一步 创建一个存储过程create procedure 存储过程名(参数 数据类型)BEGIN存储过程体(sql语句集合)END#begin....end   ==》代表的是存储过程的开始和结束call 存储过程名();    ==》调用存储过程
4、第二步  删除一个存储过程drop procedure 存储过程名DROP procedure if EXISTS 存储过程名  ==》加强代码的健壮性
5、第三步 drop table if exists 表名    ==》增强存储的健壮性
6、 第四步 不用参数查询语句例子
1:不带参数drop procedure if exists dcs88;   
#如果存在dcs88这个存储过程先删除,加强代码的健壮性create procedure dcs88()           
#创建一个存储过程dcs88begin   
#存储过程的开始     drop table if exists nn;     
#如果nn这个表存在就删除 增强存储的健壮性     
create TABLE nn(id int(10) primary key auto_increment,score int(10));     insert into nn VALUES(1,88),(2,99),(3,89),(4,98);     select * from nn;     desc nn;end call dcs88();   
#调用存储过程dcs887、在定义存储的时候带参数,用参数查询drop procedure if exists dcs88;      
#如果存在dcs88这个存储过程先删除,加强代码的健壮性create procedure dcs88(t int)           
#创建一个存储过程dcs88 t表示形式参数 int整型begin     #存储过程的开始      
【面试题】你之前写过存储过程?什么场景下写的?怎么写的,可以讲下吗?场景:我要造1000个用户进行新增,通过循环过程循环导入用户添加首先创建一个存储,名字起一个test,create procedure+存储过程名称,接下来是begin,end是表的基本结构,中间接的叫整个sql语句块,也就是代码,接下来我要设置一个while循环,那么前面我就要设置一个变量,declare i int(20)deafult 0,while循环中, while n>i do,这里要注意do后面不能加分号,因为我两年前写存储过程的时候加了,会报错,现在基本上不会犯了,下一步 set i=i+1;这个表示循环变量的自增模式,接下来insert into+表格名称,end while结束循环,我创建这个存储过程就要执行,调用的时候用 call test(), 会报错,显示我这个存储已存在,因为同一个项目组里面,其他同事也会写存储过程,所以这个时候我会先检查一下这个存储是否已存在,用 drop proceduer if exists 来检查,大概我的存储过程就这几种情况。

all dcs88(10);

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册