我需要先查询一个结果,把查询的结果返回,然后把再把数据库更新,
[code=SQL]
CREATE PROCEDURE Test11 @Rows int,@Id varchar(50),@Name varchar(50),@ReturnId int output
AS
begin
select @Rows=Count(*) from b
where Id=@Id and [Name] =@Name
if(@Rows>0 )
(select NOW from b where Id=@Id and [Name] =@Name) --NOW是我查询的
(update b set NOW=NEXT and NEXT=NEXT+INC where Id=@Id and [Name] =@Name)--更新数据库else print 'B'end[/SQL]
数据库
ID Nane INC NOW NEXT
A AA 1 12 13
是一个自动编号
先查询现在编号Now(12),查询后把步长值(INC 1)查询出来
更新下一个编号 更新后NOW=Next 13
Next=Next+now 13+1
[code=SQL]
CREATE PROCEDURE Test11 @Rows int,@Id varchar(50),@Name varchar(50),@ReturnId int output
AS
begin
select @Rows=Count(*) from b
where Id=@Id and [Name] =@Name
if(@Rows>0 )
(select NOW from b where Id=@Id and [Name] =@Name) --NOW是我查询的
(update b set NOW=NEXT and NEXT=NEXT+INC where Id=@Id and [Name] =@Name)--更新数据库else print 'B'end[/SQL]
数据库
ID Nane INC NOW NEXT
A AA 1 12 13
是一个自动编号
先查询现在编号Now(12),查询后把步长值(INC 1)查询出来
更新下一个编号 更新后NOW=Next 13
Next=Next+now 13+1
AS
begin
select @Rows=Count(*) from b
where Id=@Id and [Name] =@Name
if(@Rows>0 )
(select NOW from b where Id=@Id and [Name] =@Name) --NOW是我查询的
(update b set NOW=NEXT and NEXT=NEXT+INC where Id=@Id and [Name] =@Name)--更新数据库 else print 'B' end
AS
begin
select @Rows=Count(*) from b where Id=@Id and [Name] =@Name
if(@Rows>0 )
update b set NOW=NEXT,NEXT=NEXT+INC where Id=@Id and [Name] =@Name--更新数据库else print 'B'語法一堆錯看聯機,看看上面是不是要的結果
if(rows>0)
{
先查询结果
在更新
}
else
{}
CREATE PROCEDURE Test11 @Rows int,@Id varchar(50),@Name varchar(50),@ReturnId int output
AS
begin
select @Rows=Count(*) from b
where Id=@Id and [Name] =@Name
if(@Rows>0 )
(select NOW from b where Id=@Id and [Name] =@Name) --NOW是我查询的
(update b set NOW=NEXT and NEXT=NEXT+INC where Id=@Id and [Name] =@Name)--更新数据库 else print 'B' end
数据库
ID Nane INC NOW NEXT
A AA 1 12 13
是一个自动编号
首先查询存不存在
如果存在
再查询现在编号Now(12),查询后把步长值(INC 1)查询出来
更新下一个编号 更新后NOW=Next 13
Next=Next+now 13+1
CREATE PROCEDURE Test11 @Rows int,@Id varchar(50),@Name varchar(50),@ReturnId int output
AS
begin
select @Rows=Count(*) from b
where Id=@Id and [Name] =@Name
if(@Rows>0 )
select NOW from b where Id=@Id and [Name] =@Name --NOW是我查询的
update b set NOW=NEXT where Id=@Id and [Name] =@Name --更新数据库
update b set NEXT=NEXT +INC where Id=@Id and [Name] =@Name --更新数据库
else print 'B'
end
CREATE PROCEDURE Test11 @Rows int,@Id varchar(50),@Name varchar(50),@ReturnId int output
AS
begin
set nocount on
select @Rows=Count(*) from b
where Id=@Id and [Name] =@Name
if @Rows>0
begin
select NOW from b where Id=@Id and [Name] =@Name
update b set NOW=NEXT,NEXT=NEXT+INC where Id=@Id and [Name] =@Name
end
else print 'B'
set nocount off
end
go