快网首页 | 博狗娱乐最新地址 | 域名注册 | 特惠套餐 | 企业邮局 | SQL空间 | IDC业务 | 全球通邮
如何利用SQL查询返回庞大的整数序列表
客服中心 新闻动态 常见问题 常用资料 知识学堂 走近客服 在线提问 网站导航
如何利用SQL查询返回庞大的整数序列表
空间问题 | 域名问题 | 主机问题 | Sql 问题 | 邮局问题 | 财务问题 | 会员问题 | 其它问题

 您的位置: 快网首页 >> 客服中心 >> 常见问题 >> Sql 问题 >> 文章正文

如何利用SQL查询返回庞大的整数序列表
供稿:润之康   时间:2009-2-27 16:56:14

如何利用SQL查询返回庞大的整数序列表?

WITH Digits AS (
    SELECT 0 as Number
    UNION SELECT 1
    UNION SELECT 2
    UNION SELECT 3
    UNION SELECT 4
    UNION SELECT 5
    UNION SELECT 6
    UNION SELECT 7
    UNION SELECT 8
    UNION SELECT 9
)
SELECT
   (d5.Number * 100000)
    + (d4.Number * 10000)
    + (d3.Number * 1000)
    + (d2.Number * 100)
    + (d1.Number * 10)
    + d0.Number as Number
FROM
    Digits AS d0
    , Digits AS d1
    , Digits AS d2
    , Digits AS d3
    , Digits AS d4
    , Digits AS d5
在SQLServer 2005中,这个SQL返回一个包含1000000条记录的结果集,从0到999999。
这条语句利用了SQL2005的新功能:CTE (Common Table Expression)
如果当前的数据库是SQL 2000或其他不支持CTE的数据库,则可以将WITH部分的SQL定义为一个视图。

CREATE VIEW .[Digits] AS
SELECT 0 AS Number
UNION SELECT 1
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
UNION SELECT 6
UNION SELECT 7
UNION SELECT 8
UNION SELECT 9;

CREATE VIEW [MillionNumbers] AS
SELECT
SELECT (d5.Number * 100000)
    + (d4.Number * 10000)
    + (d3.Number * 1000)
    + (d2.Number * 100)
    + (d1.Number * 10)
    + d0.Number) as Number
FROM
    Digits AS d0
    , Digits AS d1
    , Digits AS d2
    , Digits AS d3
    , Digits AS d4
    , Digits AS d5;


 我们可以用这个方法来生成大批量的测试数据。如:
INSERT INTO MyTest (RecordId, RecordIndex)
SELECT newid(), Number FROM MillionNumbers

用此方法插入数据,要比利用循环快很多倍。


快网保留以上说明的最终解释权
快网,域名注册,博狗娱乐最新地址,ASP空间,企业邮局,SQL空间,主机租用,主机托管
热门搜索:FTP 域名 DNS 备案 空间 邮箱 SQL 主机 快网 中文域名 博狗娱乐最新地址
快网,域名注册,博狗娱乐最新地址,ASP空间,企业邮局,SQL空间,主机租用,主机托管
快网客服中心的相关信息:
v 关于SQL SERVER 日志满的处理方法 [2009-2-27 16:53:38]
v 怎样解决MySQL 5.0.16的乱码问题? [2009-2-27 16:46:34]
v 什么是SQL注入式攻击? [2009-2-11 21:32:58]
v ASP.NET中如何防范SQL注入式攻击 [2009-2-11 21:31:15]
v 什么是SQL注入? [2009-2-11 21:27:16]
快网,域名注册,博狗娱乐最新地址,ASP空间,企业邮局,SQL空间,主机租用,主机托管
快网,域名注册,博狗娱乐最新地址,ASP空间,企业邮局,SQL空间,主机租用,主机托管
如果您在使用我们的产品中遇到问题,建议您首先在“常见问题”中查询解决方法;
如果没有找到该问题的解决方法,您可以在“ 问题搜索”中进行搜索;
如果搜索后没有找到满意答案,您可以“在线提问”,我们会尽快给您答复。
快网,域名注册,博狗娱乐最新地址,ASP空间,企业邮局,SQL空间,主机租用,主机托管
域名注册查询 中文域名转码
域名whois查询 网站PR值查询
快网,域名注册,博狗娱乐最新地址,ASP空间,企业邮局,SQL空间,主机租用,主机托管

:::::: | 收藏本站 | 关于我们 | 客服中心 | 付款方式 | 联系我们 | 网站律师 | 工作机会 | 网站地图 | 产品管理 | ::::::

Copyright (C) 2003-2008 天津追日科技发展有限公司 dsn-caipiao.top 快网.cn 中国快网.cn