急!触发器累加问题! 大虾门请指导!

wushilin201 2008-10-09 08:37:07
现在遇到一个自动编号的问题:

现在新建了一个表 table1 , 里面有一个字段num ,数据类型为int ,现在需要做到的效果是,每次向表中插入数据的时候,取最大值,然后加1 ,

然后在删除的时候,如果num中存在这个号码,就不能删除!!!

现在要使用触发器来做,,,请问如何实现!请大家发表下意见!
...全文
112 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wushilin201 2008-10-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cftxlin 的回复:]
--试一下
create trigger yourTrigger on table1
instead of insert

declare @maxCount int
declare @para1 nvarchar(...)

select @para1=filedX ... from inserted
select @maxCount = max(num) from table1

set @maxCount = @maxCount + 1;

insert into table1(num, fieldX...) values(@maxCount, @para1...)
[/Quote]


谢谢!! 问题解决!
gungod 2008-10-09
  • 打赏
  • 举报
回复
creat trigge 触发器名
ON 表
after insert
as
declare @maxnum int,
@numcount int
set @numcount = 0
select @maxnum = max(num) +1 from 表

select @numcount=count(*) from where num = @maxnum

if @numcount>0
删除操作!
  • 打赏
  • 举报
回复
--试一下
create trigger yourTrigger on table1
instead of insert

declare @maxCount int
declare @para1 nvarchar(...)

select @para1=filedX ... from inserted
select @maxCount = max(num) from table1

set @maxCount = @maxCount + 1;

insert into table1(num, fieldX...) values(@maxCount, @para1...)
Garnett_KG 2008-10-09
  • 打赏
  • 举报
回复


CREATE TRIGGER trgIns ON Table1
FOR INSERT
AS
DECLARE @MaxNum INT
SET @MaxNum=(SELECT MAX(num) FROM Table1)

UPDATE Table1
SET @MaxNum = Num = @MaxNum+1
FROM Table1 a,inserted b
WHERE a.主键=b.主键



  • 打赏
  • 举报
回复
不是很明白啊,你举例子吧。
Garnett_KG 2008-10-09
  • 打赏
  • 举报
回复
需求描述不清啊.

删除table1记录的时候,num值已经就是不为空的值了,如何说

"然后在删除的时候,如果num中存在这个号码,就不能删除!!!" ??

wushilin201 2008-10-09
  • 打赏
  • 举报
回复
嗯。。。其实主要是第一个累加的问题。。。这个是其次的!
dobear_0922 2008-10-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wushilin201 的回复:]
就是不允许删除原来的存在的数据。。。
[/Quote]

那就是禁止删除了?
wushilin201 2008-10-09
  • 打赏
  • 举报
回复
就是不允许删除原来的存在的数据。。。
水族杰纶 2008-10-09
  • 打赏
  • 举报
回复
然后在删除的时候,如果num中存在这个号码,就不能删除!!!
什麼意思?
不存在還刪什麼~~?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧