精确查询:
CREATE PROCEDURE
FindCosInfo
(
@CosID varchar (10),
//课程编号
@CosName varchar
(20), //课程名称
@CosCredit
int
//课程学分
)
AS
declare
@sql varchar (1000)
begin
set
@sql=‘select * from tb_Course ‘
if
@CosID!=‘‘
begin
set @[email protected]+‘ where
CosID= ‘+cast( @CosID as varchar)
end
if (@CosName!= ‘‘ and
@CosID!=‘‘)
begin
set
@[email protected]+‘and‘+‘ CosName= ‘+cast (@CosName as varchar
)
end
else
if (@CosName!=‘‘ and @CosID
=‘‘)
begin
set
@[email protected]+‘where ‘+‘ CosName= ‘+cast (@CosName as varchar
)
end
if @CosCredit!= ‘‘ and (@CosID!=‘‘ or
@CosName!=‘‘)
begin
set @[email protected]+‘
and CosCredit= ‘+cast (@CosCredit as varchar
)
end
else
if @CosCredit!=‘‘ and @CosID=‘‘and
@CosName=‘‘
set
@[email protected]+‘where CosCredit= ‘+cast (@CosCredit as varchar
)
exec
(@sql)
end
GO
下面是模糊查询代码:
CREATE PROCEDURE
FindCosDarkInfo
(
@CosID varchar (10),
@CosName
varchar (20),
@CosCredit
int
)
AS
declare
@sql varchar (1000)
begin
set
@sql=‘select * from tb_Course ‘
if
@CosID!=‘‘
begin
set @[email protected]+‘ where
CosID like‘+‘‘‘‘+‘%‘+cast( @CosID as varchar)+‘%‘+‘‘‘‘
//注意后面的这四个单引
//号是用来代表一个‘
end
if (@CosName!= ‘‘ and
@CosID!=‘‘)
begin
set
@[email protected]+‘and‘+‘ CosName like ‘+‘‘‘‘+‘%‘+cast (@CosName as varchar
)+‘%‘+‘‘‘‘
end
else
if (@CosName!=‘‘ and @CosID
=‘‘)
begin
set
@[email protected]+‘where ‘+‘ CosName like ‘+‘‘‘‘+‘%‘+cast (@CosName as
varchar )+‘%‘+‘‘‘‘
end
if @CosCredit!= ‘‘ and (@CosID!=‘‘ or
@CosName!=‘‘)
begin
set @[email protected]+‘
and CosCredit like ‘+‘‘‘‘+‘%‘+cast (@CosCredit as varchar
)+‘%‘+‘‘‘‘
end
else
if @CosCredit!=‘‘ and @CosID=‘‘and
@CosName=‘‘
set
@[email protected]+‘where CosCredit like ‘+‘‘‘‘+‘%‘+cast (@CosCredit as varchar
)+‘%‘+‘‘‘‘
exec
(@sql)
end
GO
分页存储过程
时间: 2024-10-13 17:55:36
分页存储过程的相关文章
SQL基础分页存储过程(案例一)
1 --分页 存储过程 案例 2 3 -- 所执行的存储过程 4 create proc pageForUsers 5 @currPage int, --当前页数 6 @pageSize int, --每页多少条记录 7 @count int output --总记录数 8 as 9 declare @firstIndex int 10 declare @lastIndex int 11 declare @sqlText varchar(200) 12 13 --统计总记录数 14 select
多表查询分页存储过程,解决了第二页不显示的问题
SET ANSI_NULLS OFFGOSET QUOTED_IDENTIFIER OFFGO ALTER PROCEDURE [dbo].[UP_Pagination]/****************************************************************** 千万数量级分页存储过程 *****************************************************************参数说明:1.Tables :表名称,视
oracle分页存储过程
oracle分页存储过程: CREATE OR REPLACE PROCEDURE FGK.prc_page (p_tableName in varchar2, --表名 p_strWhere in varchar2, --查询条件 p_orderColumn in varchar2, --排序的列 p_orderStyle in varchar2, --排序方式 p_curPage in out Number, --当前页 p_pageSize in out Number, --每页显示记录条
sql笔记/分页存储过程
[email protected]c#中进行++操作可以是整数或小数,sql中只能对整数进行++操作.char类型 适合存储长度波动较小不回收效率高varchar 类型 适合存储长度波动较大可以回收nchar代表unicode 存储内容包括汉字时候考虑加n SQL语句特点1不区分大小写2没有双引号所有字符串都包含在单引号3没有逻辑相等,逻辑相等和赋值一样都是用=4没有bool值得概念,但是在视图中可以输入true/false5也有关系运算符.6也有逻辑运算符 &&-- and || --o
sql server分页存储过程
/********************************************************************************* * Function: PagedProc * * Description: * * Sql2005分页存储过程 * * Finish DateT
[转]关于SQL分页存储过程的分析
[转]关于SQL分页存储过程的分析 建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存.游标一建立,就将相关的记录锁住,直到取消游标.游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作.而对于多表和大表中定义的游标(大的数据集合
通用分页存储过程
/****** Object: StoredProcedure [dbo].[sp_CommonPaging] Script Date: 08/03/2015 21:06:14 ******/ --通用分页存储过程 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create PROCEDURE [dbo].[sp_CommonPaging] ( @tn nvarchar(30),--表名称 @idn nvarchar(20),--表主键名称 @
sql server 分页存储过程
随着信息时代的发展信息系统的使用越来越多,信息量越来越大:当信息量越来越大,这在数据 展示,特别是报表这块对系统展现效率要求越来越高,对于千万级数据量的展示必须得使用分页来展示. www.2cto.com If object_id('SP_Pagination')is not null drop proc SP_Pagination go Create PROCEDURE SP_Pagination /**//* *****************************************
真正通用的SQL分页存储过程
关于SQL分页的问题,网上找到的一些SQL其实不能真正做到通用,他们主要是以自增长ID做为前提的.但在实际使用中,很多表不是自增长的,而且主键也不止一个字段,其实我们稍做改进就可以达到通用.这里还增加了索引,以方便大数据量的使用(代码中是先抓到临时表的,从性能上说如果采用自增长式的ID表,当然可以不使用临时表以达到性能的提升).以下代码的SP是经过我们项目使用通过的.因朋友问及此问题,我就放在这里供大家分享,如各位大侠有更好的方法,也请告诉我.在这里先感谢各位了. 1 CREATE PROCED