-1

我在我的 Oracle 基础上创建了一个触发器。

TRIGGER Customer_trigger
BEFORE INSERT ON Customer
FOR EACH ROW

它通过 http 请求连接到某个服务。该服务在响应中提供列及其值。我的问题是如何按名称设置列值。我想做这样的事情。

column_name := from http response
column_value := from http response
:new.<column_name> := column_value

我试过使用立即执行,但没有运气。

谢谢你的帮助。

4

1 回答 1

1

您不能在触发器中动态设置列名,但您可以执行以下操作:

case http_response.column_name
  when 'c1' then :new.c1 := http_response.column_value;
  when 'c2' then :new.c2 := http_response.column_value;
  when 'c3' then :new.c3 := http_response.column_value;
  ...
end case;
于 2012-07-17T10:52:14.000 回答