次のような手順があります。
PROCEDURE foo(
p_field_name IN VARCHAR2,
p_record IN table%rowtype )
IS
v_value VARCHAR2(100);
BEGIN
EXECUTE IMMEDIATE 'SELECT p_record.' || p_field_name || ' FROM dual' INTO v_value;
END
Oracleは無効な識別子であると不平を言いますp_record.my_field_name
。これにより、即時実行が他のコンテキストで実行されていると思われます。
私が上でやろうとしていることをすることは可能ですか?