?? 點擊率最高的游標實驗.txt
字號:
/*
功能: 搜索類別表[className]中的每個類別下點擊率最高的那條記錄,然后將這些記錄降序排列
作者: vivianhu
整理: kgdiwss(我只是添加了注釋以及重命名了一些變量)
日期: 2006-4-17
*/
/* 如果存在臨時表tTable,則先將它刪除 */
if exists (
select * from dbo.sysobjects
where id = object_id(N'[dbo].[tTable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1
)
drop table [dbo].[tTable]
GO
/* 創建臨時表 */
create table tTable
(
productid int,
productname varchar(10),
clicknum int
)
/* 變量申明 */
declare @classID int
/* 定義游標 */
declare cursor_classID
CURSOR FOR
SELECT classID FROM className
/*
打開游標
@@FETCH_STATUS
返回被 FETCH 語句執行的最后游標的狀態,而不是任何當前被連接打開的游標的狀態。
0 表示 FETCH 語句成功。
*/
OPEN cursor_classID
FETCH NEXT FROM cursor_classID INTO @classID
WHILE @@FETCH_STATUS = 0
/* 搜索某一類別中點擊率最高的一條記錄 */
BEGIN
insert into tTable
select top 1 productID,productName,clickNum from productInfo
where parentID = @classID
order by clickNum desc
FETCH NEXT FROM cursor_classID INTO @classID
END
/* 關閉游標 */
CLOSE cursor_classID
/* 刪除游標引用 */
DEALLOCATE cursor_classID
/* 對臨時表中的記錄根據點擊率進行降序排列 */
select * from tTable order by clickNum desc
/* 刪除臨時表 */
drop table tTable
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -