`

嵌套游标以生成复杂的报表

 
阅读更多

--以下示例显示如何嵌套游标以生成复杂的报表。为每个供应商声明内部游标
SET NOCOUNT ON

DECLARE @vendor_id int, @vendor_name nvarchar(50),
@message varchar(80), @product nvarchar(50)

PRINT '-------- Vendor Products Report --------'

DECLARE vendor_cursor CURSOR FOR
SELECT VendorID, Name
FROM Purchasing.Vendor
WHERE PreferredVendorStatus = 1
ORDER BY VendorID

OPEN vendor_cursor

FETCH NEXT FROM vendor_cursor
INTO @vendor_id, @vendor_name

WHILE @@FETCH_STATUS = 0
BEGIN
PRINT ' '
SELECT @message = '----- Products From Vendor: ' +
@vendor_name

PRINT @message

-- Declare an inner cursor based
-- on vendor_id from the outer cursor.

DECLARE product_cursor CURSOR FOR
SELECT v.Name
FROM Purchasing.ProductVendor pv, Production.Product v
WHERE pv.ProductID = v.ProductID AND
pv.VendorID = @vendor_id-- Variable value from the outer cursor

OPEN product_cursor
FETCH NEXT FROM product_cursor INTO @product

IF @@FETCH_STATUS <> 0
PRINT ' <<None>>'

WHILE @@FETCH_STATUS = 0
BEGIN

SELECT @message = ' ' + @product
PRINT @message
FETCH NEXT FROM product_cursor INTO @product

END

CLOSE product_cursor
DEALLOCATE product_cursor

-- Get the next vendor.
FETCH NEXT FROM vendor_cursor
INTO @vendor_id, @vendor_name
END
CLOSE vendor_cursor
DEALLOCATE vendor_cursor

分享到:
评论

相关推荐

    SQL21日自学通

    第15 天对SQL 语句优化以提高其性能306 目标306 让你的SQL 语句更易读307 全表扫描308 加入一个新的索引309 在查询中各个元素的布局309 过程311 避免使用OR311 OLAP 与OLTP 的比较313 OLTP 的调试313 OLAP 的调试314...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     着重剖析应用技巧以帮助提高工作效率  主题包括办公应用和开发工具  认证考试教材  完全根据考试要求来阐述每一个知识点  提供可供搜索的Ebook(英文版)和训练题  提供实际场景案例分析和故障诊断实验  SQL...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     着重剖析应用技巧以帮助提高工作效率  主题包括办公应用和开发工具  认证考试教材  完全根据考试要求来阐述每一个知识点  提供可供搜索的Ebook(英文版)和训练题  提供实际场景案例分析和故障诊断实验  SQL...

    SQL.Server.2008管理员必备指南.part3.rar(3/4)

     着重剖析应用技巧以帮助提高工作效率  主题包括办公应用和开发工具  认证考试教材  完全根据考试要求来阐述每一个知识点  提供可供搜索的Ebook(英文版)和训练题  提供实际场景案例分析和故障诊断实验  SQL...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     着重剖析应用技巧以帮助提高工作效率  主题包括办公应用和开发工具  认证考试教材  完全根据考试要求来阐述每一个知识点  提供可供搜索的Ebook(英文版)和训练题  提供实际场景案例分析和故障诊断实验  SQL...

    SQL语法大全

    Recordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下: ----------------------------------------------------...

    21天学习SQL V1.0

    21天学习SQL V1.0.pdf 66 SQL 21 日自学通(V1.0) 翻译人笨猪 ...日期/时间函数............................................................................................................ADD_MONTHS..................

Global site tag (gtag.js) - Google Analytics