Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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µÄociºÍthinÇø±ð

1£©´ÓʹÓÃÉÏÀ´Ëµ£¬oci±ØÐëÔÚ¿Í»§»úÉÏ°²×°oracle¿Í»§¶Ë»ò²ÅÄÜÁ¬½Ó£¬¶øthin¾Í²»ÐèÒª£¬Òò´Ë´ÓʹÓÃÉÏÀ´½²thin»¹ÊǸü¼Ó·½±ã£¬ÕâÒ²ÊÇthin±È½Ï³£¼ûµÄÔ­Òò¡£
2£©Ô­ÀíÉÏÀ´¿´£¬thinÊÇ´¿javaʵÏÖtcp/ipµÄc/sͨѶ£»¶øoci·½Ê½,¿Í»§¶Ëͨ¹ýnative java methodµ÷ÓÃc library·ÃÎÊ·þÎñ¶Ë£¬¶øÕâ¸öc library¾ÍÊÇoci(oracle called interface ......

OracleÌåϵ½á¹¹Ö®£­Êý¾Ý¿â¡¢±í¿Õ¼ä¡¢ÊµÀý¼ò½é

Ò»¡¢Êý¾Ý¿â
Êý¾Ý¿â¹ËÃû˼ÒåÊÇÊý¾ÝµÄ¼¯ºÏ£¬¶øOracleÔòÊǹÜÀíÕâЩÊý¾Ý¼¯ºÏµÄÈí¼þϵͳ£¬ËüÊÇÒ»¸ö¶ÔÏó¹ØϵÐ͵ÄÊý¾Ý¿â¹ÜÀíϵͳ¡£    
¶þ¡¢±í¿Õ¼ä
±í¿Õ¼äÊÇOracle¶ÔÎïÀíÊý¾Ý¿âÉÏÏà¹ØÊý¾ÝµÄÂß¼­Ó³Éä¡£Ò»¸öÊý¾Ý¿âÔÚÂß¼­Éϱ»»®·Ö³ÉÒ»µ½Èô¸É¸ö±í¿Õ¼ä£¬Ã¿¸ö±í¿Õ¼ä°üº¬ÁËÔÚÂß¼­ÉÏÏà¹ØÁªµÄÒ»×é½á¹¹¡£Ã¿¸öÊý¾Ý¿âÖ ......

OracleȡǰNλSQL

      Ò²Ðí¶ÔSQL ServerÀ´Ëµ,È¡Ç°NλµÄÊý¾ÝÊǺܼòµ¥µÄÊÂÇé,Ò»ÌõTOPÓï¾ä¾Í¸ã¶¨ÁË.
      ÔÚOracleÖÐÎÒÃÇÍùÍù»á¸Ð¾õµ½Í·ÌÛ,ƽÈÕÀïÒ²³£»áÓõ½,Ö÷ÒªÊÇʹÓÃpartition by.
Óï·¨ÈçÏÂ:
select emp_card_no,work_date,read_card_date,count(rownum) as cnt
from hra_read_car ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ