sql通用分页自定义表条件存储过程
create PROCEDURE PrcTestByPage
(
@tablename varchar(50),
@selectfilter varchar(100),
@orderbyfilter varchar(100),
@selectpage int,
@pageSize int
)
AS
BEGIN -- 存储过程开始 declare @pkname varchar(100) -- 获取表的主键名称
SELECT @pkname=COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME=@tablename declare @num int
set @num=(@selectpage-1)*@pageSize declare @strsqltwo varchar(4000)
set @strsqltwo='select top '+STR(@num)+' '+@pkname+' from '+@tablename
DECLARE @strSql varchar(4000) --SQL执行语句
set @strSql='select top '+str(@pageSize)+' * from '+@tablename if(len(@selectfilter)>0) -- 判断有没有where条件
BEGIN
set @strsqltwo=@strsqltwo+' where '+@selectfilter
SET @strSql = @strSql+' where '+@selectfilter+' and '+@pkname+' not in('+@strsqltwo+')'
END
else
SET @strSql = @strSql+' where '+@pkname+' not in('+@strsqltwo+')'
if(len(@orderbyfilter)>0) --判断有没有排序条件
BEGIN
set @strsqltwo=@strsqltwo+' order by '+@orderbyfilter
SET @strSql = @strSql+' order by '+@orderbyfilter
END EXEC (@strSql)
END -- 存储过程结束 GO exec PrcTestByPage 'Print_order','','',2,6
sql通用分页自定义表条件存储过程的更多相关文章
- SQL Server分页查询的万能存储过程
CREATE proc [dbo].[p_paging]@tableName varchar(8000), --表名.视图名@indexCol varchar(50) = 'id', --标识列名(如 ...
- sql:MySQL 6.7 表,视图,存储过程结构查询
#数据库MySQL 6.7 use sakila; #查询表名 show tables; # SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA. ...
- sql server 删除所有表和存储过程
1.删除外键约束 DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ...
- SQL创建数据库、表、存储过程及调用
--如果存在数据库PRogrammerPay 就删除 if exists (select * from sysdatabases where name='programmerPay') drop d ...
- 一条sql,有分页,表合并查询,多表连接,用于oracle数据库
SELECT * FROM ( SELECT TT.*,ROWNUM RN FROM ( SELECT A.CASE_ID AS TREATID, A.TYPE AS TYPE, B.CONTENT ...
- SQL 通用数据类型
SQL 通用数据类型 数据类型定义列中存放的值的种类. SQL 通用数据类型 数据库表中的每个列都要求有名称和数据类型.Each column in a database table is requi ...
- SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)
SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅 ...
- SQL Server 2008 通用分页存储过程
1.alert USE [数据库名称] GO /****** Object: StoredProcedure [dbo].[dbTab_PagerHelper] Script Date: 08/22/ ...
- SQL Server 的通用分页显示存储过程
建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅适 ...
随机推荐
- android开发之如何使TabHost的TabWidget位于屏幕下方
更改TabHost里的第一个LinearLayout为RelativeLayout.并在TabWidget中添加android:layout_alignParentBottom="true& ...
- /Users/alamps/AndroidStudioProjects/Demo10ScrollView
.define xml <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" andr ...
- spark使用Hive表操作
spark Hive表操作 之前很长一段时间是通过hiveServer操作Hive表的,一旦hiveServer宕掉就无法进行操作. 比如说一个修改表分区的操作 一.使用HiveServer的方式 v ...
- python3使用csv模块读写csv文件
python3使用csv模块读写csv文件 读取csv文件: import csv #打开文件,用with打开可以不用去特意关闭file了,python3不支持file()打开文件,只能用open() ...
- [JAVA]在linux中设置JDK环境,ZendStudio,Eclipse
1.准备JDK安装包 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载对应平台的tar.gz格式压 ...
- yii2表关联实例
yii2表关联 1.两张表关联,以“商品表关联品牌表”为例 控制器中: $goods_model=new Goods(); $goods_info=$goods_model::find()->j ...
- PHP商品秒杀倒计时
<?php //php的时间是以秒算.js的时间以毫秒算 date_default_timezone_set('PRC'); //date_default_timezone_set(" ...
- YUI3 CSS
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- 一小时学会Markdown写作
写作也是创作一件产品.以易懂.简洁.凝练的方式表达观点.阐述见解和知识,发挥影响力. 为什么要使用 Markdown 博文迁移的排版兼容.当在多个博客之间,或者在线博客与本地笔记软件之间迁移的时候,排 ...
- java几道简单的面试题目
1. 请问以下程序会输出什么? public class Test { public static void main(String[] args) { Par ...