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

Oracle:PL/SQL ÖÐÈçºÎʹÓÃArray

http://tech.163.com/05/0701/10/1NIODMQS00091589.html
ÒòΪÔÚPL/SQL Öв¢Ã»ÓÐÊý×é.
ÕâÊÇż²é×ÊÁÏÕҵķ¶ÀýºÍ×Ô¼ºÐ´µÄ·¶ÀýÀ´½âÊÍÈçºÎÔÚPL/SQL ÖÐʹÓÃÊý×é. Ò²ÐíºÜ¶àÈËÒÑÖªµÀ, ²»¹ý¾ÍÊÇÈò»ÖªµÀµÄÅóÓÑÃÇÁ˽âһϰɡ£
----------------------
µ¥Î¬Êý×é
------------------------
DECLARE
TYPE
emp_ssn_array IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
best_employees
emp_ssn_array;
worst_employees emp_ssn_array;
BEGIN
best_employees(1)
:= '123456';
best_employees(2) := '888888';
worst_employees(1)
:= '222222';
worst_employees(2) := '666666';
FOR i IN
1..best_employees.count LOOP
DBMS_OUTPUT.PUT_LINE('i='|| i || ',
best_employees= ' ||best_employees(i)
|| ', worst_employees= '
||worst_employees(i));
END LOOP;
END;
---------------------- ¶à
άÊý×é
------------------------
DECLARE
TYPE
emp_type IS RECORD
( emp_id employee_table.emp_id%TYPE,
emp_name
employee_table.emp_name%TYPE,
emp_gender
employee_table.emp_gender%TYPE );
TYPE emp_type_array IS TABLE OF
emp_type
INDEX BY BINARY_INTEGER;
emp_rec_array emp_type_array;
emp_rec
emp_type;
BEGIN
emp_rec.emp_id := 300000000;
emp_rec.emp_name
:= 'Barbara';
emp_rec.emp_gender := 'Female';
emp_rec_array(1)
:= emp_rec;
emp_rec.emp_id := 300000008;
emp_rec.emp_name :=
'Rick';
emp_rec.emp_gender := 'Male';
emp_rec_array(2) :=
emp_rec;
FOR i IN 1..emp_rec_array.count LOOP
DBMS_OUTPUT.PUT_LINE('i='||i
||',
emp_id ='||emp_rec_array(i).emp_id
||', emp_name
='||emp_rec_array(i).emp_name
||', emp_gender =
'||emp_rec_array(i).emp_gender);
END LOOP;
END;
--------------
Result --------------
i=1, emp_id =300000000, emp_name =Barbara,
emp_gender = Female
i=2, emp_id =300000008, emp_name =Rick,
emp_gender = Male
×¢
£ºÔÚPL/SQL
ÖÐÊÇûÓÐÊý×é(Array) ¸ÅÄîµÄ. µ«ÊÇÈç¹û³ÌÐòÔ±ÏëÓÃArray µÄ»°, ¾ÍµÃ±äͨһÏÂ, ÓÃTYPE ºÍTable of Record
À´´úÌæ¶àάÊý×é, Ò»ÑùͦºÃÓõġ£
emp_type ¾ÍºÃÏóÒ»¸ötable ÖеÄÒ»Ìõrecord Ò»Ñù, ÀïÃæÓÐid,
name,genderµÈ¡£emp_type_array Ïó¸ötable, ÀïÃæº¬ÓÐÒ»ÌõÌõÕ


Ïà¹ØÎĵµ£º

oracle »Ø¹ö¶Î RBS ¶ÔORA 01555µÄ¾«²Ê½âÊÍ

¼ÙÉèÓÐÕÅ±í£¬½Ðtable1£¬ÀïÃæÓÐ5000ÍòÐÐÊý¾Ý£¬¼ÙÉèÔ¤¼ÆÈ«±íɨÃè1´ÎÐèÒª1¸öСʱ£¬ÎÒÃÇ´Ó¹ý³ÌÀ´¿´£º
1¡¢ÔÚ1µãÖÓ£¬ÓиöÓû§A·¢³öÁËselect * from table1;´Ëʱ²»¹Ü½«À´table1Ôõô±ä»¯£¬ÕýÈ·µÄ½á¹ûÓ¦¸ÃÊÇÓû§A»á¿´µ½ÔÚ1µãÖÓÕâ¸öʱ¿ÌµÄÄÚÈÝ¡£Õâ¸öÊÇûÓÐÒÉÎʵġ£
2¡¢ÔÚ1µã30·Ö£¬ÓиöÓû§BÖ´ÐÐÁËupdateÃüÁ¸üÐÂÁËtable1±íÖеĵ ......

ORACLE È¥³ýÖØ¸´¼Ç¼

      delete from tbl_talbe
      where (col1,col2,col3) in
     (select col1,col2,col3
       from tbl_table
       group by col1,col2,col3
   &nbs ......

OracleÌṩµÄÐòºÅº¯Êý

OracleÌṩµÄÐòºÅº¯Êý:
ÒÔemp±íΪÀý:
1: rownum ×î¼òµ¥µÄÐòºÅ µ«ÊÇÔÚorder by֮ǰ¾ÍÈ·¶¨Öµ.
select rownum,t.* from emp t order by ename
  ÐÐÊý
ROWNUM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
11
7876
ADAMS
CLERK
7788
1987-5-23
1100
¡¡
20
2
2
7499
ALLEN
SALESMAN
7698 ......

oracle ±í¿Õ¼ä²Ù×÷Ïê½â

  1
  2
  3
×÷Õߣº   À´Ô´£º    ¸üÐÂÈÕÆÚ£º2006-01-04 
  5
  6
 
  7
½¨Á¢±í¿Õ¼ä
  8
  9
CREATE TABLESPACE data01
 10
DATAFILE '/oracle/oradata/d ......

sql·Ö頁

Ó¦Ò»¸öÅóÓѵÄÒªÇó£¬ÌùÉÏÊղصÄSQL³£Ó÷ÖÒ³µÄ°ì·¨¡«¡«
±íÖÐÖ÷¼ü±ØÐëΪ±êʶÁУ¬[ID] int IDENTITY (1,1)
1.·ÖÒ³·½°¸Ò»£º(ÀûÓÃNot InºÍSELECT TOP·ÖÒ³)
Óï¾äÐÎʽ£º 
SELECT TOP Ò³¼Ç¼ÊýÁ¿ *
from ±íÃû
WHERE (ID NOT IN
  (SELECT TOP (ÿҳÐÐÊý*(Ò³Êý-1)) ID
  from ±íÃû
  ORDER BY ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ