zoukankan      html  css  js  c++  java
  • 带有like的存储过程

    ALTER PROCEDURE dbo.getinfobycontent

    @pageindex int,

    @pagenum int,

    @content nvarchar(50),

    @recordcount int output

    AS

     select top (@pagenum) * from eq_info where  infocontent like '%'+@content+'%'

    and infoid not in (select top  (@pagenum*(@pageindex-1)) infoid from eq_info where infocontent like '%'+@content+'%') 

    select @recordcount =count(infoid) from eq_info where infocontent like '%'+@content+'%'

     RETURN

    @@ROWCOUNT:返回受上一语句影响的行数,任何不返回行的语句将该变量设为0;

    局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的);

    申明局部变量语法:declare @变量名 数据类型;例如:declare @num int;

    赋值:有两种方法式(@num为变量名,value为值)

    set @num=value;   或   select @num=value;

    如果想获取查询语句中的一个字段值可以用select给变量赋值,如下:

    select @num=字段名 from 表名 where ……

    在sql中,我们常常使用临时表来存储临时结果,对于结果是一个集合的情况,这种方法非常实用,但当结果仅仅是一个数据或者是几个数据时,还要去建一个表,显得就比较麻烦,另外,当一个sql语句中的某些元素经常变化时,比如选择条件,(至少我想)应该使用局部变量。当然ms   sql   server的全局变量也很有用。  

    > > > > 局部变量  

    声明:declare   @local_variable   data_type  

    @local_variable   是变量的名称。变量名必须以   at   符   (@)   开头。data_type   是任何由系统提供的或用户定义的数据类型。变量不能是   text、ntext   或   image   数据类型。  

    示例:  

    use   master   
    declare   @sel_type   char(2)   
    declare   @sel_cunt   numeric(10)   
    set   @sel_type   =   'u '/*user   table*/   
    set   @sel_cunt   =   10  

    /*返回系统中用户表的数目*/   
    select   @sel_cunt   =   count(*)   
    from   sysobjects   
    where   type   =   @sel_type  

    select   @sel_cunt   as   'user   table   ' 's   count '  

    如果要返回系统表的数目,可以用set   @sel_type   =   's '  

    可能这个例子并不能说明使用变量的好处,我只是想说明使用方法。当一组(几个甚至几十个)sql语句都使用某个变量时,就能体会到他的好处了。  

    > > > > 全局变量  

    全局变量是系统预定义的,返回一些系统信息,全局变量以两个at(@)开头。下面是我统计了一些较为常用的变量。  

    @@connections   
    返回自上次启动以来连接或试图连接的次数。  

    @@cursor_rows   
    返回连接上最后打开的游标中当前存在的合格行的数量。  

    @@datefirst   
    返回每周第一天的数字  

    @@error   
    返回最后执行的sql   语句的错误代码。  

    @@fetch_status   
    返回被   fetch   语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。  

    @@identity   
    返回最后插入的标识值  

    @@langid   
    返回当前所使用语言的本地语言标识符(id)。  

    @@language   
    返回当前使用的语言名。  

    @@lock_timeout   
    返回当前会话的当前锁超时设置,单位为毫秒。  

    @@procid   
    返回当前过程的存储过程标识符   (id)   。  

    @@rowcount   
    返回受上一语句影响的行数。  

    @@servername   
    返回运行   的本地服务器名称。  

    @@spid   
    返回当前用户进程的服务器进程标识符   (id)。  

    @@trancount   
    返回当前连接的活动事务数。  

    @@version   
    返回当前安装的日期、版本和处理器类型。

    更多内容

  • 相关阅读:
    Linux数据备份
    eclipse 中使用等宽字体 inconsolata
    在ubuntu14.04 64位中使用jd-gui
    Fragment 常见问题
    ClassNotFoundException
    符号表的简单使用
    一个简单的词法分析器
    一个简单的语法分析器(后缀式转换)
    火狐无法显示图片
    ftp 匿名访问设置
  • 原文地址:https://www.cnblogs.com/LittleFeiHu/p/1971106.html
Copyright © 2011-2022 走看看