0

SelectQueryの結果として列数をカウントする方法。

私が欲しいのは

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 に答える