SQl 存储过程完成记录的上下移动操作

原创 2012年03月27日 22:30:13

/****** Object:  StoredProcedure [dbo].[sortGroup]    Script Date: 03/27/2012 16:28:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create proc [dbo].[sortGroup]
@groupid int,
@up bit,
@createuser int
as
declare @dqsort int
declare @shyi int

declare @syid int
declare @xyid int

select @dqsort=Sort from T_Group where Group_Id=@groupid and create_user=@createuser                       --取出其序号

if @up = 1
begin
 select top 1 @syid=Group_Id,@shyi=Sort from T_Group where Sort<@dqsort and create_user=@createuser order by Sort desc   --取出其上一条Id来
end
else
begin
    select top 1 @syid=Group_Id,@shyi=Sort from T_Group where Sort > @dqsort and create_user=@createuser order by Sort asc
end
begin tran
update T_Group set sort=@dqsort where Group_Id=@syid             --把上一条的sort高为当前的条的Sort
update T_Group set Sort=@shyi where Group_id = @groupid
if @@ERROR = 0
COMMIT TRAN
ELSE
ROLLBACK TRAN
GO
/****** Object:  ForeignKey [FK__City__proID__398D8EEE]    Script Date: 03/27/2012 16:28:37 ******/
ALTER TABLE [dbo].[T_City]  WITH CHECK ADD FOREIGN KEY([proID])
REFERENCES [dbo].[T_Province] ([proID])
GO

用SQL实现记录上下移动的思路

  在做管理系统时,不可避免会要求对记录进行上下移动.   假如我们有一张表 t_test ,它的字段如下:   CREATE TABLE [dbo].[t_test] (     [sysid] [...
  • sharetop
  • sharetop
  • 2008年03月04日 10:05
  • 1396

SQL存储过程添加新记录

SQL存储过程添加新记录SQL数据库存储过程语句CREATE PROC sp_AddUser-- 存储过程参数 @username nvarchar(20)  , @password nvarchar...
  • xqf222
  • xqf222
  • 2007年05月08日 17:38
  • 5065

通用存储过程之五: 根据查询条件,获取表记录数的存储过程。

 CREATE PROC #AutoGeneration_Count_P@TABLENAME VARCHAR(50)ASBEGIN DECLARE @HOST_NAME VARCHAR(200) DE...
  • zlp321002
  • zlp321002
  • 2006年08月31日 12:37
  • 3065

sqllog 中存储过程写方法

DELIMITER // CREATE PROCEDURE pro12()      BEGIN         SELECT*FROM student     END ; END// DELIMIT...
  • u013401913
  • u013401913
  • 2016年08月12日 16:53
  • 112

ListBox实现上下移动

protected void btn_up_Click(object sender, EventArgs e)    ...{        if (lb_busspot.SelectedIndex ...
  • zhouruijie2007
  • zhouruijie2007
  • 2008年01月06日 22:21
  • 748

EasyUI-datagrid-行上下移动

EasyUI提供了很多行操作方法(行更新:updateRow,行末追加:appendRow,行插入:insertRow,行删除:deleteRow),通过这些方法的组合可以实现多种上下移动的效果。下面...
  • u014488113
  • u014488113
  • 2016年12月02日 16:11
  • 2023

sql中存储过程中判断记录是否存在时

在sql sqlserver存储过程中,如果用来判断该记录是否存在时。如果用if exitst(select * from table )如果记录多的话会影响查询速度,可以转换为 if exitst(...
  • yuexuning58
  • yuexuning58
  • 2012年05月03日 17:28
  • 7204

jQuery操作SelectOption上下移动

完整版见https://jadyer.github.io/2013/11/18/jquery-select-option/
  • jadyer
  • jadyer
  • 2013年11月18日 14:18
  • 2204

table的数据行tr上下移动

原文链接:http://www.cnblogs.com/taochen/articles/2344891.html 昨天帮别人解决一个前端页面表格里的数据行上下移动的前端效果,直奔google找...
  • angle7777
  • angle7777
  • 2014年03月14日 21:07
  • 2280

Sql server 2008 查询某个时间段被修改过的存储过程

SELECT * FROM sys.objects WHERE type = 'P' AND modify_date BETWEEN '2011-11-01' AND '2011-11-09' ORD...
  • CsethCRM
  • CsethCRM
  • 2011年11月08日 15:41
  • 3265
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQl 存储过程完成记录的上下移动操作
举报原因:
原因补充:

(最多只允许输入30个字)