比如有一个表 TMP_USER, 字段有 TIMESTAMP, USERMAC, USERIP, USERLOGINTIME...
怎么得到查询的结果的表头用中文显示呢?我知道可以取别名
select timestamp 时间, usermac 用户MAC ... from tmp_user;但字段太多了, 怎么用 tmp_user, user_col_comments 两个表联合查询写一个简便一点的SQL呢 ?
怎么得到查询的结果的表头用中文显示呢?我知道可以取别名
select timestamp 时间, usermac 用户MAC ... from tmp_user;但字段太多了, 怎么用 tmp_user, user_col_comments 两个表联合查询写一个简便一点的SQL呢 ?
union all
select * from tmp_user where xxxxxxx
create view TABLE_CHINESE as
select a.timestamp 时间, a.usermac 用户MAC ... tmp_user a, user_col_comments b
where a.field = b.field and ……;
不知道是不是和你意思一致……
select * from TABLE_CHINESE;
额... 不能这样吧!tmp_user 表结构是timestamp usermac ...
---------------------------
2011/09/21 00:2A:34:EF:5F:0B
2011/09/22 00:2A:34:EF:5F:0A
...
user_col_comments 的是table_name column comments ...
--------------------------------------
tmp_user timestamp 时间
tmp_user usermac 用户MAC
...
CREATE OR REPLACE FUNCTION getSql(i_tableName VARCHAR2) RETURN VARCHAR2 IS
v_sqlStr VARCHAR2(2000);
BEGIN
FOR c IN (SELECT *
FROM user_col_comments t
WHERE t.table_name = upper(i_tableName)) LOOP
v_sqlStr := v_sqlStr || c.column_name || ' ' ||
c.comments || ',';
END LOOP;
v_sqlStr := 'select ' || rtrim(v_sqlStr, ',') || ' from ' || i_tableName;
RETURN v_sqlStr;
END;
/