0

selectステートメントで他のテーブルのフィールド名を最初に受け取るplsql関数があります。今、この他のテーブルのフィールドの値を取得したいと考えています。

変数fieldNameには、必要なテーブルのフィールド名があります。

私がこれまでに試したこと:

SELECT fieldName FROM prj WHERE ID = 12345

しかし、フィールド名が存在しないというエラーが表示されます。これを行う方法?

TIA frgtv10

4

2 に答える 2

2

以下のように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;
于 2013-09-09T08:11:31.187 に答える