飘灵儿 发表于 2015-1-16 22:34:27

MSSQL网页编程之--分列名次的sql server函数----------...

mysqld进程在一个写入当中被杀死;计算机的意外关闭(例如,如果计算机掉电);一个硬件错误。server|函数|原创
--分列地位的sqlserver函数-------------
SETQUOTED_IDENTIFIERON
GO
SETANSI_NULLSON
GO


createprocedureup_get_sort
@ls_ovarchar(10)
as
declare@ll_sortint,
@ldc_valuedec(9,2),
@ls_idvarchar(16),
@ll_sameint,
@ls_sqlvarchar(200)



Begin

---排位盘算-------
-----------------------
---有这么一个划定规矩数值不异的排名不异,
---并且占据地位比方第1名分数不异有3人,那末第2名就从4名入手下手------
--======================---------------
--入手下手之前要把关头字和数值保留到exam_use_sort内外
set@ll_sort=1

iflower(@ls_o)=descorlower(@ls_o)=d
begin--降序
set@ls_sql=SELECTid,use_valueFROMexam_use_sortorderbyisnull(use_value,0)desc


end
else
begin--升序
set@ls_sql=SELECTid,use_valueFROMexam_use_sortorderbyisnull(use_value,0)
end

exec(declarecurcursorfor+@ls_sql)

OPENcur;

fetchnextfromcurinto@ls_id,@ldc_value;

WHILE@@FETCH_STATUS=0
BEGIN
updateexam_use_sortsetuse_sort=@ll_sortwhere
use_value=@ldc_value;
--有几条不异的
select@ll_same=isnull(count(*),0)fromexam_use_sort
whereuse_value=@ldc_value;

set@ll_sort=@ll_sort+@ll_same

fetchnextfromcurinto@ls_id,@ldc_value;

END
CLOSEcur;
DEALLOCATEcur;

End




GO
SETQUOTED_IDENTIFIEROFF
GO
SETANSI_NULLSON
GO

-------函数用到得表------------------
CREATETABLE(
(20)COLLATEChinese_PRC_CI_ASNOTNULL,
(18,2)NULL,
NULL
)ON
GO

为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。

第二个灵魂 发表于 2015-1-19 11:45:51

原来公司用过MYSQL自己也只是建个表写个SQL

不帅 发表于 2015-1-24 12:38:48

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。

乐观 发表于 2015-2-1 11:52:43

原来公司用过MYSQL自己也只是建个表写个SQL

柔情似水 发表于 2015-2-7 04:41:43

需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。

蒙在股里 发表于 2015-3-6 17:45:35

也可谈一下你是怎么优化存储过程的?

小女巫 发表于 2015-3-13 05:02:06

然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情

谁可相欹 发表于 2015-3-20 13:16:20

但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
页: [1]
查看完整版本: MSSQL网页编程之--分列名次的sql server函数----------...