首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请教查询结果为1后更新

2012-07-22 
请问查询结果为1后更新。弱弱的问一个问题:思路是:1、存储过程 接受4个参数。2、先查询一下 记录。。当符合条件

请问查询结果为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 

热点排行