由于工作上真的很忙,我已经尽量学习后再来发问,真是抱歉。
--------
客气话
--------这个项目中如果我一条一条insert不是很大的问题,效率还能接受,但是我想学习使用存储,所以现在我改变方式现在我有一个表叫 goodsreceiptdetail
这个表中有
GRNNo Varchar(10)
LineID int
OrderBal decimal(12, 4) 我需要建立一个临时表,然后我会把资料全导入临时表,再使用存储直接update 去表中goodsreceiptdetail请问我应该怎么做?我需要怎样调用?
谢谢,请问这里可以要求QQ 协助吗?谢谢
--------
客气话
--------这个项目中如果我一条一条insert不是很大的问题,效率还能接受,但是我想学习使用存储,所以现在我改变方式现在我有一个表叫 goodsreceiptdetail
这个表中有
GRNNo Varchar(10)
LineID int
OrderBal decimal(12, 4) 我需要建立一个临时表,然后我会把资料全导入临时表,再使用存储直接update 去表中goodsreceiptdetail请问我应该怎么做?我需要怎样调用?
谢谢,请问这里可以要求QQ 协助吗?谢谢
#2.用导入导出工具把数据导入dbo.My_test表(或省略第一步,让此表自动生成)
#3.执行以下SQL:
insert dbo.goodsreceiptdetail(GRNNo,LineID,OrderBal)
select * from tempdb.dbo.My_test
谢谢我每次储存都会用到这个临时表,请问我需要用完的是drop了这个临时表吗?(而且还有可能是multi user)
还有,这个算存储还是普通的sql command
临时表有两种类型:本地表和全局表。在与首次创建或引用表时相同的 SQL Server 实例连接期间,本地临时表只对于创建者是可见的。当用户与 SQL Server 实例断开连接后,将删除本地临时表。全局临时表在创建后对任何用户和任何连接都是可见的,当引用该表的所有用户都与 SQL Server 实例断开连接后,将删除全局临时表。
declare @tab table(
id int,
name varchar(10)
)
insert into @tab select 1,'a'
insert into @tab select 2,'b'
select * from @tab
这个算临时表吗?
这个当关闭的时候是不是自动删除?
这样我就能提高效率了,因为我现在有100条记录,如果一条条插入,我发现效率很低
所以现在才开始学习提高效率的存储
谢谢
#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看一下存储过程的用处.
那么如果临时表就能提高效率,那么我还需要存储吗?(目前我批量Insert , Update , 所以临时表已经能帮我提高效率了,公司最大的就是excel导入,大约1万条,1秒左右)
如果存储0秒,那么我想我会如果升级(不管怎样我都会学存储)关于你说的建立临时数据库,我想是可以,但是每次两个来回使用(一个是临时数据库,一个是原本的)会比较麻烦,虽然目前我是这样做,建立一个表,update还是insert 的时候,初始我会清空数据(保险起见),使用完毕再清空,虽然现在没有问题,但是我害怕multi user,这样的话会不会出错?