• SQL数据库——存储过程


    SQL数据库——存储过程

    语法格式:

    use 数据库名 在存储过程第一行就要首先声明所在数据库
    go
    create(alter) proc 存储过程名
    形参
    (@…),

    as
    begin

    执行体
    (return)
    end
    go

    注意:建立一个存储过程后,修改的话应该把create 改为alter。

    执行体内的语法:

    1.定义变量:declare 变量名(@…) 数据类型

    2.赋值语法:set/select 变量名=表达式

    3.if语句格式:

    if…
    begin

    end
    else
    begin

    end

    4.select语句中,top后面必须是一个值不能是一个表达式

    例题1

    --输入表名读取数据表
    ALTER PROCEDURE [dbo].[date_select]
    @tablename varchar(50)
        
    AS
    BEGIN
        exec('select * from '+@tablename)
    return    
        
    END
    例题2
    --做一个通用的分页存储过程。要求输入:表名,主键,每页多少条,第几页。返回要查询的指定页面的数据。
    alter PROCEDURE SELECT_PAGE
    @Tablename varchar(50),--表名
    @Tablekey varchar(50),--表的主键
    @Pagesize int,--页面数据行数
    @Pageno int--第几页
    
    AS
    BEGIN
    
    declare @str varchar(255)
    --写出表达式
    --set @str=select top @pagesize * from @table where @tablekey not in (select top (@pagesize*@pageno-1) @tablekey from @tablename) 
    --将表达式转成字符串
    set @str ='select top '+cast( @Pagesize as varchar(50))+'* from '+@Tablename+ ' where ' +@Tablekey +
              ' not in (select top '+cast( (@Pagesize *(@Pageno-1)) as varchar(50))+' '+@tablekey+' from '+@tablename +')' 
       
    --执行字符串          
    exec (@str)

    搜狗截图20150113140420

  • 相关阅读:
    中介模式与外观模式(门面模式)区别
    java反射
    Spring注解@ResponseBody,@RequestBody
    Spring事务管理
    Junit运行在Spring环境下
    java开发常用到的jar包总结
    java二维数组
    Android开发之执行定时任务AlarmManager,Timer,Thread
    Android开发之Android Context,上下文(Activity Context, Application Context)
    Android开发之创建App Widget和更新Widget内容
  • 原文地址:https://www.cnblogs.com/wllhq/p/4222686.html
Copyright © 2020-2023  润新知