SQLServer通用分页存储过程,字符分隔函数
分页存储过程
sp_QueryPaging
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author:
-- Create date:
-- Description: 分页查询
-- 返回的数据中总是在每条记录前加上行号RowNumber列。
-- 如果未指定@StrSelect参数,相当于设置它为'*'
-- 如果未指定@Strfrom参数,不做查询,返回-1
-- 如果未指定@StrWhere参数,则忽略Where条件
-- 如果未指定@StrOrder参数,试着自动获得标识列作为@StrOrder,失败则不做查询,返回-1
-- 如果未指定@PageSize参数,或者它<=0,则返回全部记录
-- 如果未指定@PageIndex参数,会设置它为1,显示第一页数据
-- 参考:shiwenbin http://www.cnblogs.com/virusswb/archive/2009/10/20/1587179.html
-- =============================================
ALTER PROCEDURE [dbo].[sp_QueryPaging]
@StrSelect NVARCHAR(4000) = '*' , --欲显示的列(多列用逗号分开),例如:id,name
@Strfrom NVARCHAR(4000) , --表名称,或者是表连接字符串,多表连接例如:student as s inner join dwinfo as dw on s.dwbh=dw.bh
@StrWhere NVARCHAR(4000) = '' , --查询条件,''代表没有条件,单条件或者多条件,多条件例如:name='啊' and id=10
@StrOrder NVARCHAR(4000) , --排序列(多个排序列用逗号分开),例如:id desc,name as
@PageSize INT = 0 , --每页显示条数
@PageIndex INT = 1 , --当前页
@RecordCount BIGINT = -1 OUTPUT --返回当前页记录数
AS
BEGIN
SET NOCOUNT ON ;
IF @Strfrom IS NULL
BEGIN
RETURN -1
END
--若没有指定@StrOrder,试着获取标识列
IF @StrOrder IS NULL
BEGIN
DECLARE @identitycol NVARCHAR(50)
SET @identitycol = ( SELECT TOP ( 1 )
COLUMN_NAME
from INFORMATION_SCHEMA.columns
WHERE TABLE_NAME = @Strfrom
AND COLUMNPROPERTY(OBJECT_ID(@Strfrom),
COLUMN_N
相关文档:
/*
*SQLServer添加操作实现
*/
void CMFCSQLDlg::OnButton2()
{
// TODO: Add your control notification handler code here
CString strsql;
CString strnum="mynum3";
CString strage="myage3";
HRESULT hResult;
_variant_t RecordsAffected;
CoInitialize(NULL);
_ConnectionPtr m_pAppConn;
hResul ......
Access、SQLServer、Oracle常见SQL语句应用区别
关劲松 PMP
如果要兼容Access、SQL Server、Oracle三个数据库版本;我们在编写SQL语句的过程中,尽量使用一些通用的语句,但还是有些方面有些区别避免不了,现简单总结一下。
以下A代表Access,S代表SQL Server,O代表Oracle
1、取当前系统时间
A:Select Now()
S:Selec ......
数据库字典包括表结构(分2K和2005)、索引和主键.外键.约束.视图.函数.存储过程.触发器.规则。可以在企业管理器、查询分析器中简单执行,直接了当的查出SQL2K及SQL2005的所有数据字典,方便文档的编写,希望对大家有帮助。
1. SqlServer2000数据库字典--表结构.sql
SELECT TOP 100 PERCENT --a.id,
& ......
触发器的定义与分类:
只要触发器所在表上的对应时间发生,就会自动执行该触发器的代码.实际上,我们并不能直接调用触发器,唯一的方法是在分配哦触发器的表上执行某种行为方可激活触发器. [触发器是一种特殊的存储过程,他在执行特定的语言事件时生效
& ......
代码如下:
DECLARE
@TempTable table(UserID int , UserName nvarchar(50));
insert into
@TempTable (UserID,UserName) values (1,'a')
insert into @TempTable
(UserID,UserName) values (2,'b')
select UserID,UserName
from @TempTable FOR XML PATH
运行这段脚本,将生成如下结果:
复制代码
......