none
帮我解释一下SQL语句什么意思? RRS feed

  • 问题

  • create table TT(ID numeric(10),name char(20),Englist numeric(5,2),physics numeric(5,2));
    go
    --下面这句帮我详细解释一下是什么意思?谢谢!!
    SELECT TOP 99999 id = IDENTITY(int, 1, 1) INTO tmp FROM syscolumns a, syscolumns b , syscolumns c

    insert into TT(ID,name,Englist,physics) select 3,'张三',89,98 from tmp

    drop table tmp 
    2009年9月25日 7:03

答案

全部回复

  • 就是生成一个 1-99999 的自然数列 临时用一下吧

    hello
    2009年9月25日 7:22
  • 生成的1-99999自然数下面又没有用到。下面就是往TT表中插入3,'张三',89,98  相同的99999条记录。

    这段代码是干嘛用的?测试的?
    2009年9月25日 8:14
    版主
  • 就是将 3,'张三',89,98 数据插入表TT.


    family as water
    2009年9月25日 9:09
  • 是测试用的
    2009年9月25日 9:46
  • 生成的1-99999自然数下面又没有用到。下面就是往TT表中插入3,'张三',89,98  相同的99999条记录。

    这段代码是干嘛用的?测试的?
    没有用到是因为写错了 吧。把原文里面的3 改成ID应该就能用到了


    insert into TT(ID,name,Englist,physics) select ID ,'张三',89,98 from tmp

    hello
    2009年9月25日 9:55
  • 就是生成99999 条数据放在 tmp表中
    然后在 将3,'张三',89,98  数据插入到tt中 之行99999次

    估计是测试数据吧
    恐龙不懂
    2009年9月25日 13:48
  • 哦,测试的话无所谓了。
    不用临时表,直接一个while循环也可以啊。
    2009年9月25日 14:20
    版主
  • 只是插入这999999句数据是MS SQL SERVER 2008是相当慢的,,你没有发现这个代码相当快吗/? 所以我想知道那句代码是什么意思,是别人给我说的...谢谢
    2009年9月26日 8:18
  • while循环估计不行。那只是行式插入,而不是以 行集 的方式一次性插入
    hello
    2009年9月27日 1:46
  • 执行效率上确实以楼主说的,整体批量插入比较高效。
    我说的只是功能实现上用while其实是一样的,呵呵
    2009年9月27日 1:54
    版主