当前位置: 代码迷 >> Sql Server >> 请教查询结果为1后更新
  详细解决方案

请教查询结果为1后更新

热度:41   发布时间:2016-04-27 12:12:04.0
请问查询结果为1后更新。
弱弱的问一个问题:
思路是:
1、存储过程 接受4个参数。
2、先查询一下 记录。。当符合条件的记录为1时。
3、更新 记录。否则就不更新。
请指教。谢谢。


CREATE proc test @param1 smallint ,@param2 varchar(14),@param3 smallint,@param4 Varchar(50)
as
if 
select * from comProd where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param3,'') =1
then 

 update comProd set UDEF1= @param3 where where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param4,'')

GO


------解决方案--------------------
SQL code
CREATE proc test @param1 smallint ,@param2 varchar(14),@param3 smallint,@param4 Varchar(50)asbeginif  (select * from comProd where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param3,'') =1)then   update comProd set UDEF1= @param3 where where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param4,'')elsereturnendGO
------解决方案--------------------
SQL code
create proc test @param1 smallint, @param2 varchar(14), @param3 smallint, @param4 Varchar(50)asbeginif ((select count(1) from comProd where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param3,''))=1)  update comProd   set UDEF1= @param3   where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param4,'')end
  相关解决方案