快网首页 | 虚拟主机 | 域名注册 | 特惠套餐 | 企业邮局 | 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 天津追日科技发展有限公司  Cnkuai.cn  快网.cn  中国快网.cn