-- Mark D Powell --
Phone (313) 592-5148
Hi Stefan
From: oracle-l-bounce@freelists.org [mailto:oracle-l-bounce@freelists.org] On Behalf Of Niall Litchfield
Sent: Monday, July 16, 2007 7:22 AM
To: skuhn@ipb-halle.de
Cc: oracle-l@freelists.org
Subject: Re: questions about views
comments inline
On 7/16/07, Stefan Kuhn <skuhn@ipb-halle.de> wrote:Hi all,
I am new to oracle and views and I have two questions:
1. How can I add a new integer columns, which can simply start with 1 and
count, as a primary key to a view I. e. i have have the select query, which
is fine, and I just want the new column as the first column in the table.2. Can I put two queries in one view? I have a table, which has two columns,
It doesn't really make sense to consider a primary key for a view. A view is, simplifying a bit, a stored query, primary keys apply to the base tables, not select statements. If you want a pseudo column that increments by one each time then you can use the construct rownum. Eg
create or replace view rownum_eg
as
select rownum fake_pk,ename,deptno
from emp
order by deptno,ename;
the values of these columns are supposed to go in one column. No problem to
select one of them, but I have no idea how to do it with both columns.
Thanks for help
Stefan
In principle anything you can select can be made into a view (though this is not always wise). I'm reading this question as how to concatenate two columns. The concatenation operator in Oracle is || so you might adapt the above example to
create or replace view concat_eg
as
select rownum fake_pk,ename||' Dept: '||to_char(deptno) Name_and_Number
from emp
order by deptno,ename;
--
Niall Litchfield
Oracle DBA
http://www.orawin.info