当前位置: 首页 > news >正文

邯郸网站制作哪家好贷款网站建设

邯郸网站制作哪家好,贷款网站建设,哪个网站银锭专业做银锭的,西安正邦网站建设一组为了完成特定功能的sql 语句的集合,写好了存储过程之后,我们可以向函数一样随时调用sql 的集合 CREATE TABLE info ( id int(3) PRIMARY KEY, name VARCHAR(15), score DECIMAL(5,2), pass varchar(12) ); 创建存储过程 创建过程 delimiter $$ #将语…

一组为了完成特定功能的sql 语句的集合,写好了存储过程之后,我们可以向函数一样随时调用sql 的集合

CREATE TABLE info (
id int(3) PRIMARY KEY,
name VARCHAR(15),
score DECIMAL(5,2),
pass varchar(12)
);

创建存储过程

创建过程

delimiter $$
#将语句的结束符号从分号,临时改变成两个$$
CREATE PROCEDURE proc ()
#在创建存储过程proc不能重复,当前库中唯一。()里面不定义任何方法。
BEGIN
#过程开始的关键字
SELECT * from info;
#begin后面跟上的是需要执行的sql语句
end $$
#整个语句结束,和上面的定义开始符号一一对应
delimiter;
#将结束语句的分号恢复
#delimiter 的作用保证整个存储过程的中的sq1语句能够被完整的执行。

查看(两种发法)
show procedure status where db='kgc';
show procedure status like '%proc%';

show procedure status where db='库名';
show procedure status like '%函数名%';

调用函数

call 函数名;

删除函数

drop procedure if  exists 函数名;

传参

存储过程中参数有三种运用的方式:
1、in 输入参数,调用者向存储过程传入值
2、out 输出参数,表示存储过程向调用者传出值。(可以返回多个值)
3、inout 表示调用者向存储过程传入值,存储过程对传入值可能进行额外的操作之后,返回给调用者

输入参数

delimiter $$
create procedure test1 (in uname char(20) )
BEGIN
select * from info where name= uname;
select * from info;
update info set name = '王浩2' where name= uname;
end $$
delimiter;
 
call test1('王浩');
数据清洗 执行数据指定入库
drop procedure if  exists test1;

传出参数

delimiter $$
create procedure test2 (out num int)
BEGIN
set num = 100;
end $$
delimiter;
 
call test2(@num);
insert into info values(3,'王浩',@num,'是');

输入和输出参数

delimiter $$
create procedure test3 (inout str varchar(10))
begin 
select str;  -- 显示输入的字符
set str = concat(str,'_ky32'); -- 让传入的字符串做一个拼接
select str; -- 加工之后的字符串
end $$
delimiter;
 
set @str='刘亚伟';
call test3(@str)
 
update info set name=@str where id =1;

in:先传入,定义变量的值,初始值
call test3 调用存储过程,把变量的值传入存储过程

if else 存储过程中的控

单参

delimiter $$
create procedure test4 (inout num int)
BEGIN
if num > 10 THEN
set num=num-6;
else 
set num=num*2;
end if;
-- 结束if语句的判断。
set num = num ;
end $$
delimiter;
 
set @num=19;
call test4(@num)
 
update info set id =@num where score = 200;
drop procedure if  exists test4;

多参数

delimiter $$
create PROCEDURE test7 (inout score int,out grade VARCHAR(15))
BEGIN
    if score BETWEEN 85 and 100 then 
            set grade = '优秀';
    elseif score BETWEEN 60 and 84 THEN
            set grade = '一般';
    else 
            set grade = '不及格';
    end if;
    SELECT grade;
end $$
delimiter;
 
set @score=55;
call test7(@score,@grade);
update info set score=@score,pass=@grade where id =13;

while 循环语句

调用多个参数:范围的方式匹配,完成传参---写入表中

delimiter $$
CREATE PROCEDURE test8 (out result int )
BEGIN
declare a int;
declare i int;
set a = 10;
set i = 1;
while i <= 10 DO
set a=a+10;
set i=i+1;
end WHILE;
set result = a; -- 只是传出一个值
end $$
delimiter;
 
set @result=110;
call test8(@result)
 
SELECT @result 

总结
注意点: 使用存储过程中,在内部变量不需要加@,外部使用和复制要加@,引用变量。
                在存储过程begin之后声明变量: declare 声明变量要加数据类型。
                要想使用存储过程里面的结果,必须要out才能传出参数。在声明存储变量是,要定义好参数的传参方式 in out inout

 

http://www.yayakq.cn/news/50815/

相关文章:

  • 甘肃省住房城乡建设部网站如何做地方门户网站
  • 网站开发那个语言好现在做网站还有用吗
  • 网站建设招标2017如何用ps设计网站首页
  • 网站开发教程流程小程序开发商有哪些
  • 制作网页网站的软件国外室内设计网站推荐
  • 培训学校 网站费用德城区建设局网站
  • 青岛谷歌seo自己怎么优化网站
  • 制作一个自适应网站源码把wordpress装进app
  • thinkphp 门户网站亿源科技网站建设
  • 做个平台网站怎么做北京电力交易中心公示
  • 互联网电商网站建设网站建设制作找哪家公司
  • 微博网站开发免费一键生成商标图片
  • 网站建设基本流程 dns设计公司网站欣赏
  • 做网站域名的设置网站建设多少钱一个平台
  • 服装企业网站建设现状网站建设与维护试题及答案
  • WordPress建站去掉后缀金寨县住房和城乡建设部网站
  • 自己做网站如何月入3kwordpress安装命令
  • 佛山医疗网站建设社保网站上20号做的新增
  • ipad怎么制作网站中国最强十大国企
  • 淄博网站制作开发优化做我女朋友吧网站
  • 塘沽手机网站建设哈尔滨seo优化运营
  • 旅游网站推荐排行榜今天十堰头条新闻
  • 游戏网站规划方案游戏网站排行
  • 建设部网站一级开发资质推广方案100个
  • 公司网站建设多少费用哪里济南兴田德润有活动吗wordpress 企业官网
  • 昆山网站建设工作室优化网站 提高查询
  • 顺德专业网站制作怀化高速网站
  • 扁平式网站模板哈尔滨做公司网站的公司有哪些
  • 银川网站建设怎么样网站排名怎么做 site
  • 做购物网站的目的住房公积金个体工商户