【发布时间】:2021-07-19 19:53:04
【问题描述】:
是否可以从列中获取值并将其用作列名。
CREATE OR REPLACE PROCEDURE INSERT_INTO_MODELLBAU IS
BEGIN
MERGE INTO modellbau k
USING (
SELECT jahr,
**monat**
FROM modell)
m
ON (k.jahr = m.jahr)
WHEN MATCHED THEN
UPDATE SET k."monat" = m.menge
WHEN NOT MATCHED THEN
INSERT (jahr, valueOf('monat')) <---
VALUES (m.jahr, m.menge);
end;
我的目标是从 'monat' 获取值并将其用作更新语句中的列名。 'monat' 列存储列名。
【问题讨论】:
-
您需要使用动态 SQL(这需要一个 PL/SQL 块)。如果您编辑您的问题以包含可重现的测试用例 (stackoverflow.com/help/minimal-reproducible-example),我们可能会帮助您解决此问题。从你的伪 SQL 中准确猜出你想要发生的事情有点困难。
-
你好@JustinCave,我编辑了我的答案。我希望你现在明白我的问题了。
标签: sql oracle stored-procedures