selectステートメントで他のテーブルのフィールド名を最初に受け取るplsql関数があります。今、この他のテーブルのフィールドの値を取得したいと考えています。
変数fieldName
には、必要なテーブルのフィールド名があります。
私がこれまでに試したこと:
SELECT fieldName FROM prj WHERE ID = 12345
しかし、フィールド名が存在しないというエラーが表示されます。これを行う方法?
TIA frgtv10
以下のようにEXECUTE IMMEDIATEを使用してみてください
DECLARE
sql_stmt VARCHAR2(200);
id NUMBER(8) := 12345;
colval VARCHAR2(200);
fieldName VARCHAR2(200) := 'columnname';
BEGIN
sql_stmt := 'SELECT '||fieldName||' FROM prj WHERE id = :id';
EXECUTE IMMEDIATE sql_stmt INTO colval USING id;
END;