数据库 条件语句 使用 20DanSir]

发布时间:2014-1-1 0:09:46
来源:分享查询网

上面是我写的存储过程  里面使用  if 条件语句  下面图片是运行时报的错误。。。  该怎么修改语句呢。。。

可以用case...when...then语法来实现你要求的功能,你这种写法没用过!

引用 1 楼  的回复:可以用case...when...then语法来实现你要求的功能,你这种写法没用过! +1 update Man  set TaskID=case when TaskIdd is null then @manID else TaskID end, TaskIdd=case when (TaskID is null and TaskIdd is null) then TaskIdd else @manID end

要用case才行

程序块中只能使用CASE WHEN THEN,IF ELSE是包裹程序块的 CASE WHEN UPDATE Man SET TaskId = CASE WHEN TaskId IS NULL THEN @TaskId       ELSE TaskId END,    TaskIdd = CASE WHEN TaskId IS NULL THEN TaskIdd                   ELSE CASE WHEN TaskIdd IS NULL THEN @TaskId                             ELSE TaskIdd END END WHERE ID = @ManId IF ELSE IF EXISTS (SELECT 1 FROM Man WHERE ID = @ManId AND TaskId IS NULL) BEGIN UPDATE MAN SET TaskId = @TaskId WHERE ID = @ManId AND TaskId IS NULL END    IF EXISTS (SELECT 1 FROM Man WHERE ID = @ManId AND TaskId IS NOT NULL AND TaskIdd IS NULL) BEGIN UPDATE Man SET TaskIdd = @TaskId WHERE ID = @ManId AND TaskId IS NOT NULL AND TaskIdd IS NULL END

返回顶部
查看电脑版