Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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, ÀïÃæº¬ÓÐÒ»ÌõÌõÕ


Ïà¹ØÎĵµ£º

VB.NETÖÐÄܲ»ÄܶÔDATASETÔÙÓÃSQLÓïÑÔ

¿ÉÒÔɸѡÊý¾Ý£¬µ«²»ÄÜÊDZê×¼µÄSQLÓï¾ä£º
Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
---------------------------------------------------------------
1.ɸѡ£º
dataset.tables("tabname").select("id=1")'Ï൱ÓÚSQLÖÐWHEREºóµÄÌõ¼þÄÚÈÝ
2.±£´æµ½ÄÄ£¿Õâµ¹ÊDz»Öª ......

oracle ´¥·¢Æ÷

Create [or replace] trigger [ģʽ.]´¥·¢Æ÷Ãû
       Before| after |instead of  insert|delete|(update of ÁÐÃû)
       {insert|delete|(update of ÁÐÃû) }
On ±íÃû|ÊÓͼ|ģʽÃû|Êý¾Ý¿âÃû
[for each row]
When Ìõ¼þ
PL/SQL¿é
˵Ã÷£º
......

oracleÔÚÏßÎĵµµØÖ·

Ϊ·ÀÍü¼Ç£¬¼Ç¼ÓÚÏ£º
oracle 11gR2 : http://www.oracle.com/pls/db112/homepage£¬ÏÂÔØÍøÖ·http://www.oracle.com/technology/documentation/database.html
oracle 11gR1 : http://www.oracle.com/pls/db111/homepage
oracle 10gR2 : http://www.oracle.com/pls/db102/homepage ......

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

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

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 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ