Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

oracleÁÙʱ±í

˵Ã÷:ÏÂÎÄÖеÄһЩ˵Ã÷ºÍʾÀý´úÂëÕª×ÔCSDN,Ë¡²»Ò»Ò»Ö¸Ã÷³ö´¦,ÔÚ´ËÒ»²¢¶ÔÏà¹Ø×÷Õß±íʾ¸Ðл!
¡¡¡¡1 Óï·¨
¡¡¡¡ÔÚOracleÖУ¬¿ÉÒÔ´´½¨ÒÔÏÂÁ½ÖÖÁÙʱ±í£º
¡¡¡¡1) »á»°ÌØÓеÄÁÙʱ±í
¡¡¡¡CREATE GLOBAL TEMPORARY ( )
¡¡¡¡ON COMMIT PRESERVE ROWS£»
¡¡¡¡2) ÊÂÎñÌØÓеÄÁÙʱ±í
¡¡¡¡CREATE GLOBAL TEMPORARY ( )
¡¡¡¡ON COMMIT DELETE ROWS£»
¡¡¡¡CREATE GLOBAL TEMPORARY TABLE MyTempTable
¡¡¡¡Ëù½¨µÄÁÙʱ±íËäÈ»ÊÇ´æÔڵ쬵«ÊÇÈç¹ûinsert Ò»Ìõ¼Ç¼ȻºóÓñðµÄÁ¬½ÓµÇÉÏÈ¥select£¬¼Ç¼Êǿյġ£¡¡¡¡
¡¡¡¡--ON COMMIT DELETE ROWS ˵Ã÷ÁÙʱ±íÊÇÊÂÎñÖ¸¶¨£¬Ã¿´ÎÌá½»ºóORACLE½«½Ø¶Ï±í£¨É¾³ýÈ«²¿ÐУ©
¡¡¡¡--ON COMMIT PRESERVE ROWS ˵Ã÷ÁÙʱ±íÊǻỰָ¶¨£¬µ±ÖжϻỰʱORACLE½«½Ø¶Ï±í¡£¡¡¡¡
¡¡¡¡2 ¶¯Ì¬´´½¨
¡¡¡¡create or replace procedure pro_temp(v_col1 varchar2,v_col2 varchar2) as
¡¡¡¡v_num number;
¡¡¡¡begin
¡¡¡¡select count(*) into v_num from user_tables where table_name='T_TEMP';¡¡¡¡
¡¡¡¡--create temporary table
¡¡¡¡if v_num<1 then
¡¡¡¡execute immediate 'CREATE GLOBAL TEMPORARY TABLE T_TEMP (
¡¡¡¡COL1 VARCHAR2(10),
¡¡¡¡COL2 VARCHAR2(10)
¡¡¡¡) ON COMMIT delete ROWS';
¡¡¡¡end if;¡¡¡¡
¡¡¡¡--insert data
¡¡¡¡execute immediate 'insert into t_temp values('''¡¡¡¡v_col1¡¡¡¡''','''¡¡¡¡v_col2¡¡¡¡''')';¡¡¡¡
¡¡¡¡execute immediate 'select col1 from t_temp' into v_num;
¡¡¡¡dbms_output.put_line(v_num);
¡¡¡¡execute immediate 'delete from t_temp';
¡¡¡¡commit;
¡¡¡¡execute immediate 'drop table t_temp';
¡¡¡¡end pro_temp;¡¡¡¡
¡¡¡¡²âÊÔ:¡¡¡¡
¡¡¡¡15:23:54 SQL> set serveroutput on
¡¡¡¡15:24:01 SQL> exec pro_temp('11','22');
¡¡¡¡11¡¡¡¡
¡¡¡¡PL/SQL ¹ý³ÌÒѳɹ¦Íê³É¡£¡¡¡¡
¡¡¡¡ÒÑÓÃʱ¼ä: 00: 00: 00.79
¡¡¡¡15:24:08 SQL> desc t_temp;
¡¡¡¡ERROR£º
¡¡¡¡ORA-04043: ¶ÔÏó t_temp ²»´æÔÚ¡¡¡¡
¡¡¡¡3 ÌØÐÔºÍÐÔÄÜ(ÓëÆÕͨ±íºÍÊÓͼµÄ±È½Ï)
¡¡¡¡ ÁÙʱ±íÖ»ÔÚµ±Ç°Á¬½ÓÄÚÓÐЧ
¡¡¡¡ÁÙʱ±í²»½¨Á¢Ë÷Òý,ËùÒÔÈç¹ûÊý¾ÝÁ¿±È½Ï´ó»ò½øÐжà´Î²éѯʱ,²»ÍƼöʹÓÃ
¡¡¡¡Êý¾Ý´¦Àí±È½Ï¸´ÔÓµÄʱºòʱ±í¿ì,·´Ö®ÊÓͼ¿ìµã
¡¡¡¡ÔÚ½ö½ö²éѯÊý¾ÝµÄʱºò½¨ÒéÓÃÓαê: open cursor for 'sql clause';


Ïà¹ØÎĵµ£º

Oracle SQLÓï¾äÓÅ»¯·ÖÎö

¡¡²Ù×÷·ûÓÅ»¯
¡¡¡¡IN ²Ù×÷·û
¡¡¡¡ÓÃINд³öÀ´µÄSQLµÄÓŵãÊDZȽÏÈÝÒ×д¼°ÇåÎúÒ×¶®£¬Õâ±È½ÏÊʺÏÏÖ´úÈí¼þ¿ª·¢µÄ·ç¸ñ¡£
¡¡¡¡µ«ÊÇÓÃINµÄSQLÐÔÄÜ×ÜÊDZȽϵ͵쬴ÓORACLEÖ´ÐеIJ½ÖèÀ´·ÖÎöÓÃINµÄSQLÓë²»ÓÃINµÄSQLÓÐÒÔÏÂÇø±ð£º
¡¡¡¡ORACLEÊÔͼ½«Æäת»»³É¶à¸ö±íµÄÁ¬½Ó£¬Èç¹ûת»»²»³É¹¦ÔòÏÈÖ´ÐÐINÀïÃæµÄ×Ó²éѯ£¬ÔÙ²éѯÍâ²ãµÄ±í¼Ç¼£ ......

OracleÖжà±í²éѯÔÙ°´Ê±¼äµ¹Ðò

ÎÒÔÚ¹¤×÷ÖÐÔÚOracleÖжà±í²éѯÔÙ°´Ê±¼äµ¹Ðòʱ£¬ÓÃorder by ±íÃû.datatime desc ×ÜÊÇʵÏÖ²»ÁË¡£
²»¹ý×îºóÎÊÑî¾é×îºóºÍÎÒ˵¿ÉÒÔ°ÑÎÒÃDzéѯµÄ×ܸösqlÓï¾ä×öΪһ¸ö±íÀ´ÅÅÐò£º
select rownum,aa.* from (....  order by ±íÃû.datatime desc ) aa ......

´´½¨oracle dblink

create database link user_auth
¡¡¡¡ connect to user_auth identified by user_auth
¡¡¡¡ using  '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.236)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=develop1)))'; ......

oracle ÖеÄINTERVAL º¯ÊýÏê½â

INTERVAL YEAR TO MONTHÊý¾ÝÀàÐÍ
OracleÓï·¨:
INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]
¸ÃÊý¾ÝÀàÐͳ£ÓÃÀ´±íʾһ¶Îʱ¼ä²î, ×¢Òâʱ¼ä²îÖ»¾«È·µ½ÄêºÍÔÂ. precisionΪÄê»òÔµľ«È·Óò, ÓÐЧ·¶Î§ÊÇ0µ½9, ĬÈÏֵΪ2.
eg:
INTERVAL '123-2' YEAR(3) TO MONTH   & ......

oracleÖÐtypeµÄʹÓÃ

create or replace type mytype IS TABLE OF varchar2(20);
declare type1 mytype :=mytype('1','2','3','4');
i number:=1;
var_str varchar(20):='liaomin';
begin
type1.EXTEND;
type1(type1.COUNT):=var_str;
loop
  dbms_output.put_line(type1(i));
  i:=i+1;
  exit when i=type1.count+1; ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ