首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

不建表,获取select查询的字段,该怎么解决

2012-03-19 
不建表,获取select查询的字段我这边有这样的一个需求,在不建立表的情况下,获取到select column中的column

不建表,获取select查询的字段
我这边有这样的一个需求,在不建立表的情况下,获取到select column中的column名称,如

select t.column1,t.column2,t.column3 from test

我要获取的是column1,column2,column3这几个字段的名称


请教各位数据库专家,谢谢哈

[解决办法]
不建表,你的test表从那儿来?
ORACLE数据字典那来你的表结构定义?
[解决办法]

SQL code
SQL> desc emp;Name     Type         Nullable Default Comments -------- ------------ -------- ------- -------- EMPNO    NUMBER(4)                              ENAME    VARCHAR2(10) Y                         JOB      VARCHAR2(9)  Y                         MGR      NUMBER(4)    Y                         HIREDATE DATE         Y                         SAL      NUMBER(7,2)  Y                         COMM     NUMBER(7,2)  Y                         DEPTNO   NUMBER(2)    Y                          --构造一个表,和emp表的部分字段相同,但是顺序不同SQL> create table t_emp as  2  select ename,empno,deptno,sal  3  from emp  4  where 1=0  5  / Table created --添加数据SQL> insert into t_emp(ename,empno,deptno,sal)  2  select ename,empno,deptno,sal  3  from emp  4  where sal >= 2500   5  / 5 rows inserted SQL> select * from t_emp; ENAME      EMPNO DEPTNO       SAL---------- ----- ------ ---------JONES       7566     20   2975.00BLAKE       7698     30   2850.00SCOTT       7788     20   3100.00KING        7839     10   5000.00FORD        7902     20   3000.00 SQL> select * from emp; EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO----- ---------- --------- ----- ----------- --------- --------- ------ 7369 SMITH      CLERK      7902 1980-12-17     800.00               20 7499 ALLEN      SALESMAN   7698 1981-02-20    1600.00    300.00     30 7521 WARD       SALESMAN   7698 1981-02-22    1250.00    500.00     30 7566 JONES      MANAGER    7839 1981-04-02    2975.00               20 7654 MARTIN     SALESMAN   7698 1981-09-28    1250.00   1400.00     30 7698 BLAKE      MANAGER    7839 1981-05-01    2850.00               30 7782 CLARK      MANAGER    7839 1981-06-09    2450.00               10 7788 SCOTT      ANALYST    7566 1987-04-19    3100.00               20 7839 KING       PRESIDENT       1981-11-17    5000.00               10 7844 TURNER     SALESMAN   7698 1981-09-08    1500.00      0.00     30 7876 ADAMS      CLERK      7788 1987-05-23    1100.00               20 7900 JAMES      CLERK      7698 1981-12-03     950.00               30 7902 FORD       ANALYST    7566 1981-12-03    3000.00               20 7934 MILLER     CLERK      7782 1982-01-23    1300.00               10 14 rows selected
[解决办法]
你的tablexxx 与test表字段名称一致?
[解决办法]
不建表怎么有test。
[解决办法]
可是select过来的字段可能是这样子
select t.column2,t.column1,t.column3 from test

如果能确定这个sql的格式没有大的变化 你可以截取啊 把select和from中间的部分取出来 再把表名.列名中.前边的去掉 列名就出来了
[解决办法]
说了半天你是想说,要查询中获取字段的名字。
[解决办法]
select '' column1, '' column2, '' column3 from dual
[解决办法]
desc cat;
/*或者:*/
desc tab;

TNAME是表名。

热点排行