利用存储过程判断添加记录不能重复
2008-09-21 20:02
288 查看
如果存在相同类型相同名称的记录则不能添加
CREATE proc QsqPageContentInsertUpdateDel
(
@id int=0 out ,
@ObjectID int=null,
@Type varchar(50)=null,
@ShowType varchar(50)=null,
@ShowName varchar(500)=null,
@OrderBy int=null,
@action int=0 --1 insert 2 update 3delete
)
AS
IF @action = 1
BEGIN
if not exists (select * from QsqPageContent where ObjectID=@ObjectID and ShowType=@ShowType)
begin
INSERT INTO QsqPageContent(
[ObjectID],[Type],[ShowType],[ShowName],[OrderBy]
)VALUES(
@ObjectID,@Type,@ShowType,@ShowName,@OrderBy
)
SET @id = @@IDENTITY
end
END
else if @action = 2
BEGIN
UPDATE QsqPageContent SET
[ShowName] = @ShowName,[OrderBy] = @OrderBy
WHERE ID=@id
END
else if @action = 3
BEGIN
DELETE QsqPageContent
WHERE ID=@id
END
GO
CREATE proc QsqPageContentInsertUpdateDel
(
@id int=0 out ,
@ObjectID int=null,
@Type varchar(50)=null,
@ShowType varchar(50)=null,
@ShowName varchar(500)=null,
@OrderBy int=null,
@action int=0 --1 insert 2 update 3delete
)
AS
IF @action = 1
BEGIN
if not exists (select * from QsqPageContent where ObjectID=@ObjectID and ShowType=@ShowType)
begin
INSERT INTO QsqPageContent(
[ObjectID],[Type],[ShowType],[ShowName],[OrderBy]
)VALUES(
@ObjectID,@Type,@ShowType,@ShowName,@OrderBy
)
SET @id = @@IDENTITY
end
END
else if @action = 2
BEGIN
UPDATE QsqPageContent SET
[ShowName] = @ShowName,[OrderBy] = @OrderBy
WHERE ID=@id
END
else if @action = 3
BEGIN
DELETE QsqPageContent
WHERE ID=@id
END
GO
相关文章推荐
- 添加商品,如果已经选择了就不能重复添加了。类似购物车的添加。js怎么判断呢?
- 判断添加前置任务不能重复
- 如何删除一个表中重复的记录? 、、游标,存储过程的使用
- MySQL实现创建存储过程并循环添加记录的方法
- 通用存储过程之二: 根据主键的值,判断记录是否存在的存储过程
- sql存储过程无重复添加修改
- 一个通用的删除重复记录的存储过程
- 利用存储过程将SQL Server中的记录导出成SQl语句
- 数据库及ADO.NET--存储过程成传入的语句不能有重复列
- sqlserver利用存储过程去除重复行的sql语句
- 存储过程查询一张表中记录是否连续、重复并且取出对应的数据
- 通用存储过程之二: 根据主键的值,判断记录是否存在的存储过程
- 存储过程查询一张表中记录是否连续、重复并且取出对应的数据
- SQL存储过程添加新记录
- 为表添加,更改记录,创建存储过程的例子
- oracle中Job定期执行存储过程刷新物化视图并记录异常(我的物化视图不能自己刷)
- 通用存储过程之二: 根据主键的值,判断记录是否存在的存储过程
- 存储过程实例 判断临时表是否存在 循环添加主外键两张表数据
- 转学用存储过程传入参数显示多行重复记录的实现过程!
- 存储过程之多表添加记录