• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
夕诺
博客园    首页    新随笔    联系   管理    订阅  订阅
sql 存储过程,最简单的添加和修改

数据库表结构

 《1》新增数据,并且按照"name" 字段查询,如果重复返回“error”=-100 ,如果成功返回ID,如果失败ID=0

USE [数据库]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[存储过程名称]
(
@name varchar(50),
@state int,
@capbility int,
@ip varchar(50),
@port int
)
AS
SET NOCOUNT ON;
BEGIN
declare @count int;
declare @id int;
--判断此服务器是否已经注册
select @count=COUNT(*) from serverlist where name =@name;
if(@count>0)--此服务器已经注册过
BEGIN
select "ERROR" = -100; --此服务器已经注册过
END else
BEGIN
insert into serverlist(name,[state],capbility,ip,port) values (@name,@state,@capbility,@ip,@port);select @@identity;
select @id;
END
END

注意,代码执行此存储过程中,只查询表中第一个字段即可,string id=表.rows[0][0].tostring().trim(); 

《2》 修改数据,依然查询词数据是否已经存在

USE [数据库]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[存储过程名称]
(
@name varchar(50),
@state int,
@capbility int,
@ip varchar(50),
@port int,
@id int
)
AS
SET NOCOUNT ON;
BEGIN
declare @count int;
declare @return int;
select @count=COUNT(*) from serverlist where name =@name and ID<>@id;
if(@count>0)
BEGIN
select "error"=-100;
end
begin
select @count=COUNT(*) from serverlist where id =@id
if(@count>0)
begin
update serverlist set name=@name,[state]=@state,capbility=@capbility,ip=@ip,port=@port where ID=@id;
set @return = 1;
end else
begin
set @return = 0;
end
end
select @return;
END


 

posted on 2014-05-22 17:55  夕诺  阅读(7958)  评论(2)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3