Select 更新语句 sap hana

Select with update statement sap hana

我正在尝试将 select 和更新合并到一个语句中

在 select 中,我试图根据 table "month_dim" 并使用当前日期查找当前财政年度的财政期间。它 运行 很好,因为它有相应的值。但是我需要将值从 select 传递到更新语句到相同的 table 以更新 CYPYYTD 的值。目前在更新语句中我正在做硬编码并且有 3 个单独的更新语句。能合二为一就好了

select fiscal_period, fiscal_year from "schema_name"."month_dim" where date_sql = current_date

更新声明如下:-

UPDATE "Schema_name"."month_dim" SET

  YTD = case when fiscal_period <= '1'

       then 'Y' else 'N' end;
UPDATE " Schema_name "."month_dim" SET

    CY = case when fiscal_year >= '2021'

       then 'Y' else 'N' end;
UPDATE " Schema_name "."month_dim" SET

    PY = case when fiscal_year <= '2021'

       then 'Y' else 'N' end;

请帮忙

谢谢

这是您要找的吗? :

DO
BEGIN
DECLARE FISCALPERIOD NVARCHAR(3); 
DECLARE FISCALYEAR NVARCHAR(4);

    SELECT 
            fiscal_period, fiscal_year 
        INTO fiscalperiod, fiscalyear 
    FROM 
            schema_name.month_dim
    WHERE 
           date_sql = current_date;

    UPDATE schema_name.month_dim
    SET
        YTD = CASE
                  WHEN fiscal_period <= :fiscalperiod THEN 'Y'
                  ELSE 'N'
              END
      , CY = CASE
                 WHEN fiscal_year >= :fiscalyear THEN 'Y'
                 ELSE 'N'
             END
      , PY = CASE
                 WHEN fiscal_year <= :fiscalyear THEN 'Y'
                 ELSE 'N'
             END;
END;