create or replace view tab3(name,pwd,from) as
select uname,pswd,'tab1' from tab1
union all
select user_name,password,'tab2' from tab2;

解决方案 »

  1.   

    select uname,pswd,'tab1' tbname from tab1
    union all
    select user_name uname,password pswd,'tab2' tbname from tab2;
      

  2.   

    select uname,pswd,'tab1' tbname from tab1
    union 
    select user_name uname,password pswd,'tab2' tbname from tab2;
      

  3.   

    nyfor, bzszp,我按你们所说的的方法,测试的语句如下,提示的错误都是:ORA-00911:invalid character我具体用到的测试语句是:(用是Oracl8.1.7)
    1.select pkid,login_name,pwd,'user_info' from user_info union all select pkid,login_name,pwd,'rep_user_info' from rep_user_info;2.select pkid,login_name,pwd,'user_info' tab from user_info union all select pkid,login_name,pwd,'rep_user_info' tab from rep_user_info;3.select pkid,login_name,pwd,'user_info' as tab from user_info union all select pkid,login_name,pwd,'rep_user_info' as tab from rep_user_info;
      

  4.   

    不可能呀,这么简单的SQL会出现 无效字符 的错误?
    我这里不出现你的错误;
    我的也是 oracle 8.1.7
    SQL> create table user_info
      2  (
      3    pkid number,
      4    login_name varchar2(20),
      5    pwd varchar2(20)
      6  );Table created.SQL>
    SQL> create table rep_user_info as
      2  select * from user_info;Table created.SQL>
    SQL> select pkid,login_name,pwd,'user_info' from user_info
      2  union all
      3  select pkid,login_name,pwd,'rep_user_info' from rep_user_info;no rows selectedSQL> drop table user_info;Table dropped.SQL> drop table rep_user_info;Table dropped.SQL>
      

  5.   

    这个查询是没问题,但是DBA Studio中创建视图老是出现无效字符的错误,nyfor,你用DBA Studio创建视图试试,看会不会有我这样子的错误!thanks!
      

  6.   

    哦,我从不用DBA Studio的,我只使用 SQL*PLUS可能是你需要把最后的分号去掉就可以了。
      

  7.   

    ORACLE的OEM很不好用
    建议还是不要用了,直接用SQL PLUS也很方便
      

  8.   

    要是不只是两个表,有几个表中间也是用union all 相连吗?