求一存储过程 哪位高手路过看看 100own2sky]

发布时间:2016-12-9 2:38:12 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"求一存储过程 哪位高手路过看看 100own2sky]",主要涉及到求一存储过程 哪位高手路过看看 100own2sky]方面的内容,对于求一存储过程 哪位高手路过看看 100own2sky]感兴趣的同学可以参考一下。

图一     排序              图二      排序     -------------------         -------------------        1    设置                   1      设置        4    设置                   2      设置        8    设置                   3      设置       12    设置                   4      设置 以上两图为某页面的部分  写一存储过程实现 由图一转为图二的样子 数值 1 4 8 12 都在文本框里 通过设置按钮可以修改 不论改为多少 点设置后刷新变为图二,要求用存储过程来实现; 简单一些就是求一可以排序 排为1、2、3、4……的存储过程脚本 可设置一下一些参数 CREATE Procedure [dbo].spWageItemSetSort ( @W_I_Id varchar(50),                   @Sort Int, @result varchar(50) out -- 返回结果 ) --DECLARE @NW_I_Id varchar(50) --工资项目ID --DECLARE @OldSort int          --原排序值 --DECLARE @MaxSort int --当前最大的排序值

查询的时候加上row_number()over(order by getdate())就可以了。

if not object_id('tb') is null drop table tb Go Create table tb([ID] int,[name] nvarchar(2)) Insert tb select 1,N'设置' union all select 4,N'设置' union all select 8,N'设置' union all select 12,N'设置' Go --2000 Select ID=(select count(*) from tb where id<=t.id),        [Name]  from tb t ---2005 select ID=row_number()over(order by id ),        [name] from tb

是不是你期望的? CREATE TABLE #tp ( id INT, sort NVARCHAR(10) ) INSERT INTO #tp SELECT 1,N'设置' INSERT INTO #tp SELECT 4,N'设置' INSERT INTO #tp SELECT 8,N'设置' INSERT INTO #tp SELECT 12,N'设置' SELECT *,ROW_NUMBER()OVER(ORDER BY GETDATE())new_id FROM #tp t id          sort       new_id ----------- ---------- -------------------- 1           设置         1 4           设置         2 8           设置         3 12          设置         4 (4 row(s) affected)

if object_id('tb')>0 drop table tb create table tb(id int,s nvarchar(20)) insert into tb  select 1,'设置' union all  select 4,'设置' union all  select 8,'设置' union all  select 12,'设置' select * from tb select row_number() over(order by getdate()) as id ,s  from tb order by s --结果 1 设置 2 设置 3 设置 4 设置

引用楼主 own2sky 的回复:可设置一下一些参数 CREATE Procedure [dbo].spWageItemSetSort ( @W_I_Id varchar(50),   @Sort Int, @result varchar(50) out -- 返回结果 ) --DECLARE @NW_I_Id varchar(50) --工资项目ID --DECLARE @OldSort int --原排序值 --DECLARE @MaxSort int --当前最大的排序值 这里提到了工资项目ID,那还是把你自己的表结构列出来吧!还有测试数据,以及最后想要实现的效果。

row_number() over(order by 你要排序的字段) as 序号

--查询 --sql 2000 select 图二 = (select count(1) from tb where 排序 = t.排序 and 图一 < t.图一) + 1 , 排序 from tb t select 图二 = (select count(1) from tb where 图一 < t.图一) + 1 , 排序 from tb t --sql 2005 select 图二 = row_number() over(partition by 排序 order by 图一), 排序 from tb t select 图二 = row_number() over(order by 图一), 排序 from tb t --更改 update tb set 图二 = (select count(1) from tb where 排序 = t.排序 and 图一 < t.图一) + 1 , 排序 from tb t

怎么都写的SQL语句啊,难道我没讲清楚?

上一篇:reporting service 在web中出现 出现这种情况 该怎么办??求助。。。 40ShaoAdams]
下一篇:高版本的数据库导成低版本的数据库 会出现不兼容问题吗 20分,无满意结帖,结帖人mxx000]

相关文章

相关评论