分手快乐 发表于 2015-1-16 22:40:56

MSSQL教程之逐纪录导出text/ntext字段值为文本文件...

闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。
/*--原帖地点:http://community.csdn.net/Expert/topic/3851/3851741.xml?temp=.4726831--*/

--测试数据createtabletb(idvarchar(50)primarykey,detailtext)inserttbselectaaa,11111unionallselectbbb,43424unionallselectccc,324234

/*--处置请求

把上述表中的detail字段导出为文本文件,请求每笔记录一个文件,文件名为id+.txt即上述表中的数据请求导出为aaa.txt,bbb.txt,ccc.txt--*/go

--处置的存储历程createprocp_export@pathnvarchar(1000)--导出的文本文件保留的目次asdeclare@snvarchar(4000)ifisnull(@path,)=set@path=c:elseifright(@path,1)set@path=@path+

--用游标构建每笔记录的bcp导出语句,BCP的语法参考sql联机匡助declaretbcursorlocalforselectBCP"selectdetailfrom+quotename(db_name())+..tbwhereid=+quotename(id,N)+"queryout"+@path+id+.txt"/T/wfromtbopentbfetchtbinto@swhile@@fetch_status=0begin--挪用xp_cmdshell存储历程实行bcp举行导出处置execmaster..xp_cmdshell@s,no_outputfetchtbinto@sendclosetbdeallocatetbgo

--挪用execp_exportc:go

--删除测试droptabletbdropprocp_export
导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。

活着的死人 发表于 2015-1-18 09:57:55

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。

飘飘悠悠 发表于 2015-1-21 18:13:44

另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);

透明 发表于 2015-1-30 21:42:24

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。

山那边是海 发表于 2015-2-6 16:07:07

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

变相怪杰 发表于 2015-2-17 01:55:24

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。

小妖女 发表于 2015-3-5 14:47:09

呵呵,这就是偶想说的

简单生活 发表于 2015-3-12 08:17:55

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

只想知道 发表于 2015-3-19 19:11:02

多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
页: [1]
查看完整版本: MSSQL教程之逐纪录导出text/ntext字段值为文本文件...