存储过程实例及函数相关


  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,如需转载请自行联系原作者

上一篇:oracle 使用nfs挂载的目录不能进行归档


下一篇:解决ArcGIS中“引用样式中无符号”的问题