数据库基础知识:开始使用 SQL Server 存储过程需要了解的内容

 2024-01-31 08:04:46  阅读 0

什么是存储过程

pl sql 存储过程实例_存储过程写法sql_sql存储过程实验报告

SQL语句需要先编译然后执行,而存储过程()是一组完成特定功能的SQL语句。 它们被编译并存储在数据库中。 用户指定存储过程的名称并给出参数(如果存储过程有参数)来调用并执行它。

存储过程语法

存储过程写法sql_pl sql 存储过程实例_sql存储过程实验报告

过程名称 ([[IN|OUT|INOUT] 参数名称数据类型 [,[IN|OUT|INOUT] 参数名称数据类型...]]) [特征...] 过程体

   DELIMITER //
   CREATE PROCEDURE myproc(OUT s int)
   BEGIN  
   SELECT COUNT(*) INTO s FROM students;
   SELECT COUNT(*) INTO s FROM students;
   SELECT COUNT(*) INTO s FROM students;
   END
   //
   DELIMITER ;

MySQL 使用“;” 默认作为分隔符。 如果没有声明分隔符,编译器会将存储过程视为SQL语句,因此编译过程会报错。 因此,必须使用“//”提前声明当前段分隔符,这样编译器会将两个“//”之间的内容视为存储过程的代码,而不会执行这些代码; “;” 意思是恢复分隔符。

调用方式:call存储过程名 - 删除方式:drop存储过程名

传递用户变量

存储过程写法sql_pl sql 存储过程实例_sql存储过程实验报告

在存储过程中使用用户变量

 create procedure cd1() select concat(@hl,'world');
 set @hl='Hello ';
 call cd1();

在存储过程之间传递用户变量 cd21() set @name = 'join'; cd22() @名称; 调用 cd22(); 调用 cd21(); 调用 cd22();

注意:滥用用户变量会使程序难以理解和管理。

参数类型

in:in类型的参数,存储过程中代码的修改不会影响变量的实际值,是单向参数。 out:out类型的参数,用于输出值,传入的值将被忽略。 可以在子程序内部修改。 - inout:该类型数据综合了以上两种类型的特点,可以传入或者修改。

存储过程写法sql_pl sql 存储过程实例_sql存储过程实验报告

()和()

():最近一次查询结果的行数 - ():最近一次增删改查影响的行数 - ():获取最近一次自动增加的ID

存储过程的好处

存储过程写法sql_sql存储过程实验报告_pl sql 存储过程实例

快速执行 - 允许模块化编程 - 提高系统安全性 - 减少网络流量

家庭作业

两张表:账户[id,用户名,密码,金额]和日志[id,描述]

编写一个存储过程,三个输入参数,一个输出参数,用户名,密码,初始金额,用于办卡。 生成用户名系统并将其记录在日志表中。 [1,id:1成功申请卡]——编写一个存储过程参数,参数为uname,输出参数为类型。 根据用户的金钱数量,可以判断用户是否富有【>10000为富有】,并将结果以参数的形式输出。 外向的

标签: 存储 参数 过程

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码