• 存储过程


    ----------------存储过程
    --------存储过程相当于C#里的方法
    -------存储过程:存储在数据库里面的,处理数据的过程(sql语句)
    create proc GetStu  --创建存储过程
    as     --关键字
    begin   --如果只有一条语句,可以省略begin end
    select * from Students
    end


    ALTER proc GetStu  --修改存储过程
    as     --关键字
    begin   --如果只有一条语句,可以省略begin end
    select * from Students
    end

    exec Getstu --执行存储过程

    exec sp_databases --获取数据库所有的数据库
    exec sp_tables null,'dbo'
    exec sp_columns 'Bank' --打出表里面的字段


    --带参数的存储过程
    create proc Getstu1
    @id int =1    --定义存储过程的参数,不需要使用declare并且应该放在as前面,可以给定义的参数赋初始值
    as
    begin
    select *from Students where Id=@id
    end
    exec Getstu1 2 --调用一个带参数的存储过程,参数在存储过程名字后面加上一个空格

    ----存储过程
    create proc Getstu2
    @id int =1 ,
    @name nvarchar(10)   --定义多个参数需要用逗号隔开
    as
    begin
    select *from Students where Id=@id and Name =@name
    end
    exec Getstu2 2,'bbbb'--传两个参数需要用逗号隔开
    exec getstu2 @id=2, @name='bbbb'
    exec getstu2  @name='bbbb'  --有默认值的可以不传参数,没有默认值的必须传参

    -------带输出参数的存储过程
    create proc Getstu3
    @id int =1 ,
    @name nvarchar(10),   --定义多个参数需要用逗号隔开
    @totalCount int =0 output --输出参数可以带默认值
    as
    begin
    select *from Students where Id=@id
    select @totalCount=COUNT(Id) from Students
    end

    declare @total int
    exec Getstu3 2,'bbbb',@totalCount=@total output--传多个参数需要用逗号隔开,如果是输出参数应该放在最后面并且要跟上output关键字
    select @total

  • 相关阅读:
    POJ 2750 Potted Flower (单点改动求线段树上最大子序列和)
    [异能程序猿]第四章 偶遇(第四更)
    【web开发学习笔记】Struts-Tags学习笔记1
    UVa 10100
    【算法拾遗】大数相加(不开辟额外空间)
    cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug
    大一暑假和大二专业学习的规划
    Android如何获得系统版本
    Struts2——(1)Struts2入门
    设置m_pszAppName值的做法
  • 原文地址:https://www.cnblogs.com/sumg/p/3649476.html
走看看 - 开发者的网上家园