网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Java编程 >> 文章正文
  取得指定表的指定字段下一个可用的编号            【字体:
取得指定表的指定字段下一个可用的编号
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-2    

取得指定表的指定字段下一个可用的编号


在对数据库编程的过程中。
正在装载数据……
我们经常会有一个ID列标记该记录的信息。为了获得一个可用的编号经常需要进查找。以使编号不被打断
/*
 过程名 getNum
 功能:  取得指定表的下一个可用的编号
 输入参数:   @tablName 表名
                     @FileldName 即要查询的字段名.在不同的表编号所写的列名不是一样的.如有ID Num等
                     @Num 返回下一个可用的编号     
 编写时间:2006 12 28
 最后修改时间:2006 12 28
*/
CREATE PROCEDURE dbo.getNum 
@tablName VARCHAR(8),
@FileldName VARCHAR(8),
@Num  VARCHAR(6) OUTPUT
AS
DECLARE @Sql  VARCHAR(200)
DECLARE @oldNum INT,@newNum VARCHAR(6)
SET @Sql='' 
SET @Sql='DECLARE Mycursor CURSOR FOR   SELECT '+ RTRIM(@FileldName) +
         ' FROM ' + RTRIM(@tablName)
EXEC(@Sql)
IF @@ERROR=0
       BEGIN
          SET  @oldNum=1
          OPEN Mycursor
          FETCH NEXT FROM Mycursor INTO @newNum
          WHILE @@FETCH_STATUS=0
                BEGIN
                   IF REPLICATE(0,3-LEN(@oldNum))+CAST(@oldNum AS VARCHAR) = @newNum
                        SET @oldNum=@oldNum+1
                   ELSE
                       BEGIN
                         SET @Num=REPLICATE(0,3-LEN(@oldNum))+CAST(@oldNum AS VARCHAR)
                         RETURN 
                       END
                   FETCH NEXT FROM Mycursor INTO @newNum
                END
         CLOSE Mycursor
         DEALLOCATE Mycursor
         SET @Num=REPLICATE(0,3-LEN(@oldNum))+CAST(@oldNum AS VARCHAR) --如果顺序没有被打断
         RETURN
        END  
ELSE
      RAISERROR('该表或列名不存在.请检查输入的表名和列名是否正确?',7,1)
GO
 




本文来源:http://blog.csdn.net/heimaoxiaozi/archive/2007/08/13/1740552.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     用java实现web服务器
     用java快速开发linux gu…
     正则表达式分解siemens交…
     [portal参考手册]目录
     jsp中调用oracle存储过程…
  • 如何取得LPT端口打印机支持的…

  • 不用hook,取得QQ密码

  • 取得一个文件夹下的文件,并保…

  • 一个是显示列表的jsp

  • 在指定的时间后跳转到指定的…

  • 用VB取得操作系统安装的时间

  • 如何使用Map.让图片的指定部…

  • .在JSP中可以采用下面方法设…

  • ADO实现Access数据库表的遍历…

  • VB中给DataReport指定打印机

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David