Plsql 基于标志的PL/SQL更新
我有一个表“flags”,其中包含带有“name”和“value”的标志,其中“name”是标志的名称,“value”是“T”或“F” 我想根据名为“enable_feature”的标志,以以下方式更新表:Plsql 基于标志的PL/SQL更新,plsql,Plsql,我有一个表“flags”,其中包含带有“name”和“value”的标志,其中“name”是标志的名称,“value”是“T”或“F” 我想根据名为“enable_feature”的标志,以以下方式更新表: BEGIN; IF ((SELECT flags.value FROM flags WHERE flags.name = 'enable_feature') = 'T') UPDATE... SET...; ELSE UPDATE... SET...; END IF; END; 我的问题似
BEGIN;
IF ((SELECT flags.value FROM flags WHERE flags.name = 'enable_feature') = 'T')
UPDATE... SET...;
ELSE
UPDATE... SET...;
END IF;
END;
我的问题似乎在IF语句中。具体来说,我得到以下错误:
PLS-00103:在期望一个
以下:
(+case mod new not null continue avg count current)
存在执行所有合并之前的最大最小sql STDEV和方差
时间戳间隔日期管道
如何修改此语句,以便根据“enable_feature”的值执行UPDATE/SET语句(UPDATE/SET语句位于不同的表上)
DECLARE
v flags.value%type;
BEGIN
SELECT flags.value into v FROM flags WHERE flags.name = 'enable_feature';
IF v = 'T' THEN
UPDATE... SET...;
ELSE
UPDATE... SET...;
END IF;
END;