12
返回列表 发新帖
楼主: cary_zeng

怎样写一个存储过程,使它生成自动增长的序列号

[复制链接]
论坛徽章:
0
11#
 楼主| 发表于 2003-1-13 14:14 | 只看该作者
很简单吗?还请赐教

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
12#
发表于 2003-1-13 16:47 | 只看该作者
抛砖引玉:

create procedure sp_createuniqueid
  @tabname sysname = null,
  @objname sysname = null
as
  if @tabname is null or len(@tabname) < 1 or @objname is null or len(@objname) < 1 return -1

  declare @op nvarchar(3000), @output int
  select @op = ''
  select @op = @op + 'select @output = count(*) from ' + @tabname + char(13) + char(10)
  exec sp_executesql @op, N'@output int output', @output output
  if @output <= 0 return 1
  else
  begin
    declare @retcode normalid
    select @op = ''
    select @op = @op + '  select @retcode = max(' + @objname + '_ID)+1 from ' + @tabname + char(13) + char(10)
--  select @op
    execute sp_executesql @op, N'@retcode normalid output', @retcode output
    if @retcode is not null return @retcode
  end

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33CTO参与奖
日期:2009-02-20 09:44:20
13#
发表于 2003-1-14 11:43 | 只看该作者

楼上的好像还是不对啊?

只是在table中生成自增序列

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表