ORACLE WITH AS Ó÷¨
ÔÎÄ´«ËÍÃÅ£ºhttp://blog.csdn.net/wh62592855/archive/2009/11/06/4776631.aspx
¼ÇµÃÒÔǰÔÚÂÛ̳Àï¿´µ½inthirtiesÓõ½¹ýWITH ASÕâ¸ö×ÖÑÛ£¬µ±Ê±Ã»ÌرðÔÚÒâ¡£½ñÌìÔÚÒ»¸öÌû×ÓÀïÓÖ¿´µ½ÓÐÈËÓÃÕâ¸ö£¬ËùÒÔ¾ÍÈ¥ÍøÉÏËÑÁËËÑÏà¹ØÄÚÈÝ£¬×Ô¼ºÐ¡ÊÔÁËÒ»°Ñ£¬Ð´ÏÂÀ´£¬·½±ãÒÔºóÍüÁ˵Ļ°Ñ§Ï°¡£
===================================================================================
ÏȾٸöÀý×Ó°É£º
ÓÐÁ½ÕÅ±í£¬·Ö±ðΪA¡¢B£¬ÇóµÃÒ»¸ö×ֶεÄÖµÏÈÔÚ±íAÖÐѰÕÒ£¬Èç¹ûA±íÖдæÔÚÊý¾Ý£¬ÔòÊä³öA±íµÄÖµ£»Èç¹ûA±íÖв»´æÔÚ£¬ÔòÔÚB±íÖÐѰÕÒ£¬ÈôB±íÖÐÓÐÏàÓ¦¼Ç¼£¬ÔòÊä³öB±íµÄÖµ£»Èç¹ûB±íÖÐÒ²²»´æÔÚ£¬ÔòÊä³ö"no records”×Ö·û´®¡£
with
sql1 as (select to_char(a) s_name from test_tempa),
sql2 as (select to_char(b) s_name from test_tempb where not exists (select s_name from sql1 where rownum=1))
select * from sql1
union all
select * from sql2
union all
select 'no records' from dual
where not exists (select s_name from sql1 where rownum=1)
and not exists (select s_name from sql2 where rownum=1);
Ôپٸö¼òµ¥µÄÀý×Ó
with a as (select * from test)
select * from a;
Æäʵ¾ÍÊǰÑÒ»´ó¶ÑÖØ¸´Óõ½µÄSQLÓï¾ä·ÅÔÚwith as ÀïÃæ£¬È¡Ò»¸ö±ðÃû£¬ºóÃæµÄ²éѯ¾Í¿ÉÒÔÓÃËü
ÕâÑù¶ÔÓÚ´óÅúÁ¿µÄSQLÓï¾äÆðµ½Ò»¸öÓÅ»¯µÄ×÷Ó㬶øÇÒÇå³þÃ÷ÁË
ÏÂÃæÊÇËÑË÷µ½µÄÓ¢ÎÄÎĵµ×ÊÁÏ
About Oracle WITH clause
Starting in Oracle9i release 2 we see an incorporation of the SQL-99 “WITH clause”, a tool for materializing subqueries to save Oracle from having to re-compute them multiple times.
The SQL “WITH clause” is very similar to the use of Global temporary tables (GTT), a technique that is often used to improve query speed for complex subqueries. Here are some important notes about the Oracle “WITH clause”:
• The SQL “WITH clause” only works on Oracle 9i release 2 and beyond.
• Formally, the “WITH clause” is called subquery factoring
• The SQL “WITH clause” is used when a subquery is executed multiple times
• Also useful for re
Ïà¹ØÎĵµ£º
ËäȻѧϰJavaºÜ¾ÃÁË£¬×Ô¼ºÒ²Á¬½Ó¹ýһЩÊý¾Ý¿â£¬±ÈÈçmysqlÖ®ÀàµÄ£¬Èç½ñÄØ£¬Ò²Ñ§Ï°ÁËÒ»¶Îʱ¼äµÄOracle£¬È»¶øÄØ£¬½ñÌìÊÇÎÒµÚÒ»´ÎÁ¬½ÓOracle£¬ºÙºÙ£¬Ó¦¸Ã»¹²»ËãÌ«³Ù°É¡£
½ñÌìÄØ£¬Óе㱿׾£¬´ó¼ÒĪЦ£¡
ÎÒÕâÊÇÒ»¸ö²éѯÀý×Ó
Ê×ÏÈ£¬Ô ......
ÉÌÒµ¿ªÔ´Êý¾Ý¿â³§¼ÒEnterpriseDBÓë6ÔÂ17ÈÕ·¢²¼ÁË×îеÄPostgres Plus¸ß¼¶·þÎñÆ÷°æ£¬ÆäÄ¿±êÊÇÌá¸ßÓëOracleÊý¾Ý¿âµÄ¼æÈÝÐÔ£¬EnterpriseDBÊÇ¿ªÔ´Êý¾Ý¿âPostgreSQL£¨Ò²½Ð×öPostgres£©±³ºóµÄÖ÷ÒªÉÌÒµÖ§³Ö¹«Ë¾¡£
ÆäʵPostgres Plus¸ß¼¶·þÎñÆ÷°æ²¢·ÇÍêÈ«¿ªÔ´£¬ËüÊÇÔÚ¿ªÔ´µÄPostgreSQLÊý¾Ý¿â»ù´¡Ö®ÉÏÌí¼ÓÁËÐí¶à¸½¼ÓÌØÐÔ£¬ÒÔÌá¸ßºÍO ......
Èç¹ûÄãÒª°ÑOracleÀïµÄ´óÁ¿Êý¾Ý(80MÒÔÉÏ)×ªÒÆµ½ÁíÍâµÄÓû§£¬ÁíÍâµÄ±í¿Õ¼äÀï¡£¿ÉÒÔÓÃÏÂÃæ½éÉܵĿìËÙ×ªÒÆÊý¾ÝµÄ·½·¨¡£
Ò»¡¢½¨Ð±íµÄ·½Ê½
create table target_tablename tablespace
target_tablespace_name nologging
pctfree 10 pctused 60
storage(initial 5M next 5M minextents 1
maxextents unlimited pctincr ......
´ÓÔÚLinuxÉϰ²×°Oracleµ½Í¶ÈëʹÓòż¸Ì죬Åöµ½µÄÎÊÌâ¾Í³É°ÙÉÏǧµÄ¡£ÔÚʹÓÿͻ§¶ËÁ¬½ÓÔ¶³ÌOracleÊý¾Ý¿â·þÎñÆ÷ʱ£¬³öÏÖÁËlistener refused the connection with the following error ora-12519 Listener refused the connection with the following error:ORA-12519, TNS:no appropriate service handler foundThe Connection ......
select r.rollid as rollid from zh1_rool r where r.date_p >=to_date('2009-11-26 23:59:59','yyyy-mm-dd hh24:mi:ss') and rollid not in
(select t.lot_number as rollid
from inv.mtl_onhand_quantities_detail t
left join mtl_system_items_b mi
on t.inventory_item_id = mi.inventory_ ......