由于工作上真的很忙,我已经尽量学习后再来发问,真是抱歉。
--------
客气话
--------这个项目中如果我一条一条insert不是很大的问题,效率还能接受,但是我想学习使用存储,所以现在我改变方式现在我有一个表叫 goodsreceiptdetail
这个表中有
GRNNo Varchar(10)
LineID int
OrderBal decimal(12, 4) 我需要建立一个临时表,然后我会把资料全导入临时表,再使用存储直接update 去表中goodsreceiptdetail请问我应该怎么做?我需要怎样调用? 
谢谢,请问这里可以要求QQ 协助吗?谢谢

解决方案 »

  1.   

    #1.在tempdb库下建立一个dbo.My_test表
    #2.用导入导出工具把数据导入dbo.My_test表(或省略第一步,让此表自动生成)
    #3.执行以下SQL:
    insert dbo.goodsreceiptdetail(GRNNo,LineID,OrderBal)
    select * from tempdb.dbo.My_test
      

  2.   


    谢谢我每次储存都会用到这个临时表,请问我需要用完的是drop了这个临时表吗?(而且还有可能是multi user)
    还有,这个算存储还是普通的sql command
      

  3.   

    临时表
    临时表有两种类型:本地表和全局表。在与首次创建或引用表时相同的 SQL Server 实例连接期间,本地临时表只对于创建者是可见的。当用户与 SQL Server 实例断开连接后,将删除本地临时表。全局临时表在创建后对任何用户和任何连接都是可见的,当引用该表的所有用户都与 SQL Server 实例断开连接后,将删除全局临时表。
      

  4.   


    declare @tab table(
    id int,
    name varchar(10)
    )
    insert into @tab select 1,'a'
    insert into @tab select 2,'b'
    select * from @tab
    这个算临时表吗?
    这个当关闭的时候是不是自动删除?
    这样我就能提高效率了,因为我现在有100条记录,如果一条条插入,我发现效率很低
    所以现在才开始学习提高效率的存储
    谢谢
      

  5.   

    #1.你可以把存储过程看成C#中的一个函数.功能比较强大.
    #2.关于临时表.注意tempdb数据库,在每次重启SQL SERVER时会重建的.
    http://blog.csdn.net/wwwwgou/archive/2011/04/16/6327272.aspx
    #3.像你这情况.可以考虑专门建立一个TempTable数据库,里面放一些临时性的Table(不是临时表),每次用时:
    #1.truncate table_name
    #2.导入数据
    #4.上面的SQL算是普通的sql command.自己上GOOGLE看一下存储过程的用处.
      

  6.   


    那么如果临时表就能提高效率,那么我还需要存储吗?(目前我批量Insert , Update , 所以临时表已经能帮我提高效率了,公司最大的就是excel导入,大约1万条,1秒左右) 
    如果存储0秒,那么我想我会如果升级(不管怎样我都会学存储)关于你说的建立临时数据库,我想是可以,但是每次两个来回使用(一个是临时数据库,一个是原本的)会比较麻烦,虽然目前我是这样做,建立一个表,update还是insert 的时候,初始我会清空数据(保险起见),使用完毕再清空,虽然现在没有问题,但是我害怕multi user,这样的话会不会出错?