zoukankan      html  css  js  c++  java
  • 优化MySchool数据库(存储过程)

    什么是“存储过程”:

            ---- 数据库中,用于存储“业务逻辑”的技术!(T-SQL代码当做数据一样保存到数据可)

     

    语法 :

    【if exists(select * from sysobjects where name = '存储过程名')】 ----  一般语法

    if object_id('存储过程名') is not null

          drop procedure 存储过程名

    go

    create procedure 存储过程名

    as

         ---- T-SQL逻辑

     

    go

            -----------------------------------------------------------------------------------------------------

    create procedure 存储过程名                                                        ---- 完整的语法

    (

        @id int  = 10, --- 带有默认值的输入参数

    @name varchar(20),   ---输入参数

    @passWord varchar(50)  output  --- 输出参数

    )

    as

         select ....  ----输出结果集

     

     return -1;--只能是整数(返回处理结果)

     

    go

                   【返回结果的方式】---- 输出参数、select结果集、return(整数)

                           输出参数方式:较适用于返回信息较少的情况

                           select结果集:适用数据查询需求(存储过程可以同时返回多个结果集)

                           return方式:较适用于没有数据返回操作(数据业务调整、更新)

                    

    存储过程的调用语法

    --- 1、省略调用(按位赋值)

    declare @reslut varchar(50)

    exec up_GradeSubject 'S2',@reslut output

    select @reslut

    --- 2、完整调用(为每一值,指定参数名称)

    declare @reslut varchar(50)

    exec up_GradeSubject @GradeName='S2',@subjectNumber =@reslut output

    select @reslut

    【注意】

              方式一:简洁,但是变量值必须一一对应,不允许交换次序

              方式二:繁琐一些,但准确的指明每个参数赋值,赋值顺序可以任意交换

              当方式一,需要给参数赋予默认值时,采用default关键字填充。如果用方式二使用默认值,只需不对该参数赋值即可

     

     

    EXEC--- 将“字符串”,当做一个SQL命令来处理

    declare @sql varchar(50)

    set @sql = 'select * from student'

    exec (@sql)

  • 相关阅读:
    20160130.CCPP体系详解(0009天)
    20160129.CCPP体系详解(0008天)
    20160128.CCPP体系详解(0007天)
    20160127.CCPP体系详解(0006天)
    20160126.CCPP体系详解(0005天)
    程序员_你的“强迫症”有哪些?
    天天写业务代码_如何成为技术大牛?
    阿里云全球首批MVP李文毅专访-一个“改邪归正”的90后
    【毕业季】穿越回毕业前一年_这次你会怎么选
    恢复Hyper-V虚拟机丢失的数据文件过程
  • 原文地址:https://www.cnblogs.com/why168888/p/4278908.html
Copyright © 2011-2022 走看看