1.insert插入语句是插入表中记录的最后还是当前游标之后?我插入记录时使用insert语句与存储过程插入位置不定啊?如何使每次插入的记录都在最后?
2.建立视图时(left join)如何先把前表的记录按照order by排序再比对后表?
CREATE OR REPLACE FORCE VIEW v_view(vid, a, b, c,
d)
AS
SELECT ROW_NUMBER () OVER (ORDER BY 1), u.a, u.b, w.c,
v.c
FROM test1 u LEFT JOIN test2 v
ON u.a= v.b
LEFT JOIN test3 w ON v.a= w.b;
如何先使test1的主键a进行排序再left join?order by放在最后vid就乱了。
2.建立视图时(left join)如何先把前表的记录按照order by排序再比对后表?
CREATE OR REPLACE FORCE VIEW v_view(vid, a, b, c,
d)
AS
SELECT ROW_NUMBER () OVER (ORDER BY 1), u.a, u.b, w.c,
v.c
FROM test1 u LEFT JOIN test2 v
ON u.a= v.b
LEFT JOIN test3 w ON v.a= w.b;
如何先使test1的主键a进行排序再left join?order by放在最后vid就乱了。
改成这样试试
ROW_NUMBER() OVER(ORDER BY u.a)
你可以用order by排序显示
http://www.itpub.net/viewthread.php?tid=912008&extra=&page=1oracle append有什么作用?
请教一下,oracle中append是做什么用的。
insert /*+append*/ into table1 select * from table2在使用了append选项以后,insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据。
使用append会增加数据插入的速度。
/*+APPEND*/的作用是在表的高水位上分配空间,不再使用表的extent中的空余空间
第二个问题,用select是内嵌视图(inline view),这个排序譬如:
select * from (select id ,name from stu order by name) where rownum <9
不知道这个是不是你想要的效果。