存储过程实例及函数相关

简介:
 
  1. /*获取在指定系中选修某一门课程的学生基本信息和成绩,并按成绩降序排列*/  
  2. CREATE PROC STU_GRADE  
  3. @SDEPT VARCHAR(50),  
  4. @CNAME VARCHAR(10)  
  5. AS   
  6. SELECT STUDENT.SNO 学号,STUDENT.SNAME 姓名,STUDENT.SGENTLE 性别,COURSE.CNAME 课程名,COURSE.CGRADE 学分,SC.GRADE 成绩  
  7. FROM STUDENT JOIN SC  
  8. ON STUDENT.SNO = SC.SNO  
  9. JOIN COURSE  
  10. ON COURSE.CNO = SC.CNO  
  11. WHERE STUDENT.SDEPT=@SDEPT  
  12. AND COURSE.CNAME=@CNAME  
  13. ORDER BY SC.GRADE DESC 
  14.  
  15. EXEC STU_GRADE '计算机','操作系统' 
  16. EXEC STU_GRADE '计算机','数据结构' 
  17.  
  18. /*模糊查询*/  
  19. CREATE PROC STU_SNAME  
  20. @SNAME VARCHAR(50)/*在创建存储过程中的变量的时候,变量的类型与长度最好与数据表中的一致,否则可能查不出数据;像这里如果写成10的话就查不出来数据*/  
  21. AS 
  22. SELECT *   
  23. FROM STUDENT  
  24. WHERE SNAME LIKE @SNAME  
  25.  
  26. EXEC STU_SNAME '张%' 
  27. set statistics io on 
  28. set nocount on 
  29. set statistics time on 
  30. set ansi_nulls on 
  31. select * into qlei from student  
  32.  
  33. --以下说明了set ansi_nulls on的用法:  
  34. select * from qlei where sname is null 
  35. select * from qlei where sname is not null 
  36.  
  37. set ansi_nulls on 
  38. select * from qlei where sname = null 
  39. select * from qlei where sname<>null 
  40.  
  41. set ansi_nulls off 
  42. select * from qlei where sname = null 
  43. select * from qlei where sname<>null 
  44.  
  45. --以下说明了SET QUOTED_IDENTIFIER ON的用法  
  46. set quoted_identifier on 
  47. select * into "user" from qlei  
  48. select * from "user" where sno='990028' 
  49. select * from [userwhere sno='990028' 
  50.  
  51. set quoted_identifier off 
  52. select * from user where sno='990028'--这样写报错  
  53. select * from [userwhere sno='990028' 
  54. select * from [userwhere sno="990028" 
  55.  
  56. --以下是sql中函数的创建及使用方法  
  57. create function test(@Num varchar(20))--@Num 参数  
  58. returns varchar(50) --返回值类型  
  59. as   
  60. begin   
  61. declare @MSG varchar(20)  
  62. if(@Num =1)  
  63.     select @MSG ='正确' 
  64. else 
  65.     select @MSG ='错误' 
  66. return @MSG   
  67. end   
  68. --调用函数  
  69. select dbo.test(2)  
  70.  
  71. --创建返回table类型的函数  
  72. create function GetAllStudents()  
  73. returns table 
  74. as 
  75. return (select * from student)  
  76. --调用函数  
  77. select * from GetAllStudents()--这里只能这样写,不能写成像上面的那种形式  

 本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/420259,如需转载请自行联系原作者

相关文章
|
3月前
|
存储 SQL 数据库
面试题20: 存储过程和函数的区别
面试题20: 存储过程和函数的区别
|
4月前
|
存储 数据库
MySQL-函数和存储过程区别
MySQL-函数和存储过程区别
48 0
|
8月前
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
70 0
|
8月前
|
存储 SQL 关系型数据库
MySQL存储过程与函数精讲
MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可。
91 0
|
3月前
|
存储 SQL 关系型数据库
MySQL技能完整学习列表7、存储过程和函数——1、存储过程(Stored Procedures)的创建和执行——2、函数(Functions)的创建和使用
MySQL技能完整学习列表7、存储过程和函数——1、存储过程(Stored Procedures)的创建和执行——2、函数(Functions)的创建和使用
38 0
|
4月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
39 0
|
9月前
|
存储 SQL NoSQL
数据库存储过程和函数(二)
数据库存储过程和函数
87 0
|
2月前
|
存储 SQL 关系型数据库
Msql第四天,存储过程和函数
Msql第四天,存储过程和函数
45 0
Msql第四天,存储过程和函数
|
3月前
|
存储 数据库
【数据库】分支与循环&函数&存储过程
【数据库】分支与循环&函数&存储过程
26 1
|
4月前
|
存储 SQL Java
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(一)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
36 0