0

如何计算选择查询的结果列数。

我想要的是

有一个包含 100 列的表,但我只选择 40-45 列。我想知道选择的列数。

使用模式信息我可以获得所有列的计数,但我想要该选择查询的列计数。

可能吗。非常感谢。

4

1 回答 1

0

正如 David Brabant 所提到的,这在很大程度上取决于您使用的 RDBMS。

这是使用 DBMS_SQL 的 Oracle 解决方案:

declare
  c       number;
  d       number;
  col_cnt integer;
  rec_tab dbms_sql.desc_tab;
begin
  c := dbms_sql.open_cursor;

  dbms_sql.parse(c,
                 'select 1 as pk, 2 as value from dual',
                 dbms_sql.native);

  d := dbms_sql.execute(c);

  dbms_sql.describe_columns(c,
                            col_cnt,
                            rec_tab);
  dbms_output.put_line(col_cnt);
end;
于 2012-06-25T06:58:04.350 回答