仅当参数等于特定值时才如何更新列?

我有一个查询,该查询仅在参数等于1时才更新列。这是示例:

<cfquery name="updateQry" datasource="test">
    UPDATE Table1
    SET fname = form.fname,lname = form.lname,<cfif form.status eq 1>
            title = form.title,</cfif>
        last_update_dt = getDate()
    WHERE rec_id = form.record_id
 </cfquery>

我想将此SQL查询移至存储过程。如何仅使用SQL代码才能达到相同的过程?如何用SQL代码代替<cfif form.status eq 1> title = @title,</cfif>?我使用Sybase数据库和ColdFusion2016。上面的代码应移至存储过程。

huzhuangc 回答:仅当参数等于特定值时才如何更新列?

我认为您想要一个Select *,SUBSTRING(filename,30,2) AS Mth,33,2) AS Dy,44,99) AS Fl from REUTERS_CPDG_2019 表达式,如下所示:

case

在存储过程中,您可能会使用参数:

UPDATE Table1
SET fname = form.fname,lname = form.lname,title = (case when form.status = 1 then form.title else table1.title end),last_update_dt = getDate()
WHERE rec_id = form.record_id;
本文链接:https://www.f2er.com/3149405.html

大家都在问