【转载】SQL Server 存储过程的分页
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://copyzhu.blogbus.com/logs/10168078.html
来源:小张.NET
建立表:
CREATE TABLE [TestTable] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
插入数据:(2万条,用更多的数据测试会明显一些)
SET IDENTITY_INSERT TestTable ON
declare @i int
set @i=1
while @i<=20000
begin
insert into TestTable([id], FirstName, LastName, Country,Note) values(@i, 'FirstName_XXX','LastName_XXX','Country_XXX','Note_XXX')
set @i=@i+1
end
SET IDENTITY_INSERT TestTable OFF
// "IDENTITY_INSERT (Transact-SQL)" 指定是否允许将显式值插入表的标识列中。
-------------------------------------
分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
from TestTable
WHERE (ID NOT IN
(SELECT TOP 20 id
from TestTable
ORDER BY id))
ORDER BY ID
SELECT TOP 页大小 *
from TestTable
WHERE (ID NOT IN
(SELECT TOP 页大小*页数 id
from 表
ORDER BY id))
ORDER BY ID
-------------------------------------
分页方案二:(利用ID大于多少和SELECT TOP分页)
语句形式:
SELECT TOP 10&nb
相关文档:
1.查询出当前连接然后将其关闭
select spid
from master.dbo.sysprocesses
where dbid= db_id('数据库名')
--db_id('DoNet')
如spid 值为 52.
2. 執行:
kill 52
3.修改數據庫名
EXEC sp_dboption 'old_db_name', 'Single User', 'false'
&nb ......
本人写了一个SQL查询分析器扩展工具,功能类似Delphi的ToDo。可以方便开发者在大量的SQL脚本中快速找到每个模块、To-Do,从而提高开发高利率。
使用的时候先运行SQL查询分析器,然后运行本程序即可(可以工具|自定义中配置)。按F2显示To-Do List窗口,按Alt+F2在当前位置插入To-Do。
由于时间关系,本程序并未完善,在双 ......
Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql语句。
我们通常所说的DML、DDL、DCL语句都是sql语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行。
除 ......
--Creating xml Data Type Columns
CREATE TABLE dbo.Book
(BookID int IDENTITY(1,1) PRIMARY KEY,
ISBNNBR char(10) NOT NULL,
BookNM varchar(250) NOT NULL,
AuthorID int NOT NULL,
ChapterDESC XML NULL)
DECLARE @Book XML
SET @Book =
CAST('<Book name="SQL Server 2000 Fast Answers">
<Chapt ......