精灵巫婆 发表于 2015-1-16 22:21:50

MSSQL网页设计使用MSSQL存储历程处置“,”分开字符串...

由MySQL用来存储数据的文件格式以已经被广泛地测试过,但是总是有外部情况可以导致数据库表被破坏:存储历程|数据|字符串头几天我碰到一个成绩,在处置程叙文件下发过程当中反复在数据库中天生一组数据,但操纵过程当中极可能会产生SqlConnect毗连超时成绩,因而用存储历程办理这个成绩:
createprocedureInsertDocx(@p_struseridvarchar(4000),@sDocidvarchar(50))
AS
--本存储历程处置用户发送文件下发功效
--界说输出参数:
--@p_struserid:输出userid以","分开的字符串,
--如:00001,00002,00029,00030,00062
--@sDocid:输出主文档Doc的id值
--完成拆分userid以","分开的字符串后,insert到docx表中
declare@v_struseridvarchar(4000)
declare@useridvarchar(50)
declare@v_docidvarchar(50)
declare@returnint--数据处置了局前往值:0乐成,1失利
declare@mint--定位分开符的地位
declare@nint--地位偏移
SET@v_struserid=@p_struserid
SET@return=0
SET@n=1
SET@m=CHARINDEX(,,@v_struserid)
WHILE@m>0
BEGIN
set@userid=substring(@v_struserid,@n,@m-@n)
--print@userid
begin
insertintoIMDOCX(DOCXID,DOCXUSERID,DOCXDOCID,DOCXINSERTTIME,DOCXREADSTATE)
values(3,@userid,@v_docid,getdate(),未阅)
if@@rowcount=0
set@return=1
end

set@n=@m+1
set@m=CHARINDEX(,,@v_struserid,@n)
END
return@return
GO

目前的方案是用mysqlbinlog工具,增加一个flashback参数,输出结果为一个新的binlog文件――姑且叫做flashbacklog,这个flashbacklog顺序执行,可制定某张表和执行到哪个pos,来实现数据库的闪回。

莫相离 发表于 2015-1-26 09:24:29

入门没那么困难,精通没那么容易

柔情似水 发表于 2015-2-4 13:49:28

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

再见西城 发表于 2015-2-10 01:16:57

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

只想知道 发表于 2015-2-28 12:14:38

groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。

admin 发表于 2015-3-9 23:24:26

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

爱飞 发表于 2015-3-17 03:10:16

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

灵魂腐蚀 发表于 2015-3-23 18:10:19

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
页: [1]
查看完整版本: MSSQL网页设计使用MSSQL存储历程处置“,”分开字符串...