如何根据Select Query计算列数。
我想要的是
有一个包含100列的表,但我只选择40-45列。我想知道所选列的数量。
使用架构更改我可以获取所有列的计数,但我想要该选择查询的列数。
有可能吗? 非常感谢。
答案 0 :(得分: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;