以下是我表格中的测试数据。
col_names col_1 col_2 col_3
{col_names, col_1, col_2, col_3} ABCD XYZ PQR
{col_names, col_1, col_2, col_3} TYTY UIO ERT
此处,第一列是数组中列的名称。此处列数将根据第一列而变化。
我想通过游标获取数据并形成字符串。以下是我的逻辑。这里info_sql获取上面的表数据。
OPEN info_sql_curs FOR EXECUTE info_sql;
LOOP
FETCH NEXT FROM info_sql_curs INTO info_sql_rec;
EXIT WHEN NOT FOUND;
-- First time - we need to fetch the column details..
IF first_time THEN
column_names := info_sql_rec.col_names;
first_time := false;
END IF;
FOR i IN 2 .. array_upper(column_names,1)
LOOP
info_str := info_str || column_names[i] || ' = ' || 'info_sql_rec.' || column_names[i] || E'\n';
END LOOP;
END LOOP;
CLOSE info_sql_curs;
我想形成" info_sql_rec.col_1"和其他列名。我们无法对其进行硬编码,因为列名可能会发生变化。我想获取" info_sql_rec.col_1"的详细信息,如何在形成字符串后获取值?
以上方法是否正确?如果这不正确,请让我知道吗?
先谢谢。