若是面对一个表
id value
1 a
2 b若获得 一条数据 (1 a),无操作;
若获得 一条数据 (1 c),则该表为
id value
1 c
2 b
若获得 一条数据 (3 d),则该表为
id value
1 a
2 b
3 d不知何解?望赐教。
id value
1 a
2 b若获得 一条数据 (1 a),无操作;
若获得 一条数据 (1 c),则该表为
id value
1 c
2 b
若获得 一条数据 (3 d),则该表为
id value
1 a
2 b
3 d不知何解?望赐教。
if exists(select 1 from tb where id=1) update tb set value='c' where id=1 and value<>'c'
if exists(select 1 from tb where id=1) update tb set value= 'c ' where id=1 and value <> 'c '
update 表 set value='a' where id=1
else
insert 表 select 1,'a'
if object_id(N'iu',N'P') is not null
drop procedure iu
go
create procedure iu
@id int,
@value nvarchar(10)
as
if exists (select 1 from tb where id=@id)
begin
if (select [value] from tb where id=@id) <> @value
update tb set [value] = @value where id=@id
end
else
insert tb values(@id,@value)
go
if isnull(@id,'')='' and isnull(@value,'')=''
insert into table1
select @id, @value
else if isnull(@id,'')=''
update table1 set id=@id where value=@value
else
update table1 set value=@value where id=@id
如果tb里有id=3的这条记录,这句话就返回结果“1”,否则返回null。
然后exists(select 1 from tb where id=3) 就可以返回true/false,
从而形成if-else分支。