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

ORACLE PL/SQL ¶ÔÏó(object)ѧϰ±Ê¼Ç(¶þ)

4¡¢¶ÔÏóÒÀÀµÐÔ
 
CREATE OR REPLACE TYPE Obj1 AS OBJECT (
f1 NUMBER,
f2 VARCHAR2(10),
f3 DATE
);
/

CREATE OR REPLACE TYPE Obj2 AS OBJECT (
f1 DATE,
f2 CHAR(1)
);
/

CREATE OR REPLACE TYPE Obj3 AS OBJECT (
a Obj1,
b Obj2
);
/
  
 
OBJ3ÒÀÀµÓÚOBJ1ºÍOBJ2¡£ËùÒÔɾ³ý»òÐÞ¸ÄOBJ1»òOBJ2֮ǰûÓÐÊ×ÏÈɾ³ýOBJ3ÊÇ·Ç·¨µÄ¡£
 
 
5¡¢¶ÔÏó±êʶ·ûºÍ¶ÔÏóÒýÓÃ
 
¶ÔÏó±êʶ·û£¨object identifier £¬¼ò³ÆÎªOID£©ÊÇijÖÖÀàÐ͵ÄÓÀ¾Ã¶ÔÏóµÄΨһ¶¨Î»·û¡£ÓëROWID±äÁ¿ÏàÀàËÆ£¨ËüΨһµÄ±êʶÁËÒ»ÐУ©£¬¶ÔÏó±êʶ·ûΨһ±êʶÁËÒ»¸ö¶ÔÏó¡£
 
ÎÒÃÇÖªµÀ£¬REF CURSOR±äÁ¿ÓëCURSOR±äÁ¿ÊDz»Í¬µÄ£¬Ëü½ö½öÊÇÖ¸ÏòÒ»¸öÓαêµÄÖ¸Õë¡£¶ÔÏóÒýÓÃÒ²ÊÇÒ»Ñù¡£¶ÔÏóÒýÓÃÊÇÒ»¸öÖ¸Ïò¶ÔÏóµÄÖ¸Õ룬¶ø²»ÊǶÔÏó±¾Éí¡£ÔÚÉùÃ÷²¿·Ö»ò±í¶¨ÒåÖÐÉùÃ÷¶ÔÏóÒýÓõÄÓï·¨ÊÇ£º
 
Variable_name REF object_type;
 
ÕâÀïVariable_nameÊǶÔÏóÒýÓõÄÃû×Ö£¬¶øobject_typeÊǶÔÏóÀàÐÍ¡£
ÀýÈçÏÂÃæ¶¨ÒåµÄClassObjÀàÐͰüº¬Ò»¸öÖ¸ÏòRoomObjµÄÒýÓãº
 
 
 
CREATE OR REPLACE TYPE ClassObj AS OBJECT (
department CHAR(3),
course NUMBER(3),
description VARCHAR2(2000),
max_students NUMBER(3),
current_students NUMBER(3),
num_credits NUMBER(1),
room REF RoomObj
);
/
  
 
6¡¢ÔÚDMLÓï¾äÖÐʹÓöÔÏó
 
1£©INSERT
ÔÚÐèҪʹÓöÔÏóµÄINSERT Óï¾äÖУ¬ Äã¿ÉÒÔʹÓöÔÏó¹¹Ô캯Êý£¬»òÕßÒ»¸ö¶ÔÏóµÄPL/SQL±äÁ¿£¬ËüÃǶ¼°üº¬ÁËÒª²åÈëµÄ¶ÔÏó¡£¶ÔÓÚINSERTÓï¾ä¶øÑÔ£¬¶ÔÏóµÄÐÐΪ·½Ê½ºÍ±êÁ¿ÀàÐÍÊǺÜÏàËÆµÄ¡£
 
2£©UPDATE
ÔÚUPDATEÓï¾äÖеÄWHERE»òVALUES×Ó¾äÖУ¬¶ÔÏó¿ÉÒÔ±»ÓÃ×÷Áª±à±äÁ¿¡£
ÏÂÃæµÄ¿é´´½¨ÁËÒ»¸öÐµķ¿¼ä£¬²¢¸üÐÂclasses±íÒÔ·´Ó³Ð²åÈëµÄÊýÖµ¡£
 
DECLARE
v_NewRoom RoomObj :=
RoomObj(99990, 'Building 7', 200, 50, 'Discussion Room F');
v_RoomRef REF RoomObj;
BEGIN
-- The RETURNING clause on this statement puts a reference to the
-- newly inserted room into v_RoomRef.
INSERT INTO rooms r VALUES (v_NewRoom)
RETURNING REF(r) INTO v_RoomRef;

UPDATE classes
SET room = v_RoomRef
WHERE department = 'NUT'


Ïà¹ØÎĵµ£º

Oracle PL/SQL¿é½á¹¹ºÍ×é³ÉÔªËØÑ§Ï°±Ê¼Ç(Ò»)

Ò»£¬PL/SQL¿éµÄ½á¹¹ºÍ×é³ÉÔªËØ
PL/SQL³ÌÐòÓÉÉùÃ÷²¿·Ö£¬Ö´Ðв¿·Ö£¬Òì³£´¦Àí²¿·ÖÈý¸ö²¿·Ö×é³É¡£½á¹¹ÈçÏ£º
DECLARE
/*ÉùÃ÷²¿·Ö£ºÔÚ´ËÉùÃ÷PL/SQL±äÁ¿£¬ÀàÐͼ°Óα꣬ÒÔ¼°¾Ö²¿µÄ´æ´¢¹ý³ÌºÍº¯Êý*/
BEGIN
/*Ö´Ðв¿·Ö£º¹ý³Ì¼°sqlÓï¾ä£¬³ÌÐòÖ÷Òª²¿·Ö£¬ÊDZØÐëµÄ*/
EXCEPTION
/*Òì³£´¦Àí²¿·Ö£º´íÎó´¦Àí*/
END
 
PL/SQL¿ ......

ORACLE PL/SQL°ü(package)ѧϰ±Ê¼Ç

°üÓɰü¹æ·¶ºÍ°üÌåÁ½²¿·Ö×é³É¡£
 
1¡¢°ü¹æ·¶£¨Package Specification£©
°ü¹æ·¶£¬Ò²½Ð×ö°üÍ·£¬°üº¬ÁËÓйذüµÄÄÚÈݵÄÐÅÏ¢¡£µ«ÊÇ£¬Ëü²»°üº¬Èκιý³ÌµÄ´úÂë¡£
´´½¨°üÍ·µÄÓï·¨Ò»°ãÈçÏÂ
 
CREATE [OR REPLACE] PACKAGE package_name {IS | AS}
Procedure_name | function_name | variable_declaration | type_def ......

ORACLE PL/SQL ´¥·¢Æ÷(trigger)ѧϰ±Ê¼Ç

1¡¢´¥·¢Æ÷µÄ¸ÅÄî
´¥·¢Æ÷Ò²ÊÇÒ»ÖÖ´øÃûµÄPL/SQL¿é¡£´¥·¢Æ÷ÀàËÆÓÚ¹ý³ÌºÍº¯Êý£¬ÒòΪËüÃǶ¼ÊÇÓµÓÐÉùÃ÷¡¢Ö´ÐкÍÒì³£´¦Àí¹ý³ÌµÄ´øÃûPL/SQL¿é¡£Óë°üÀàËÆ£¬´¥·¢Æ÷±ØÐë´æ´¢ÔÚÊý¾Ý¿âÖв¢ÇÒ²»Äܱ»¿é½øÐб¾µØ»¯ÉùÃ÷¡£
¶ÔÓÚ´¥·¢Æ÷¶øÑÔ£¬µ±´¥·¢Ê¼þ·¢ÉúµÄʱºò¾Í»áÏÔʽµØÖ´Ðиô¥·¢Æ÷£¬²¢ÇÒ´¥·¢Æ÷²»½ÓÊܲÎÊý¡£
 
´´½¨´¥·¢Æ÷µÄÓï·¨È ......

ORACLE PL/SQL ¶ÔÏó(object)ѧϰ±Ê¼Ç(Ò»)

 1¡¢¶ÔÏóÀàÐ͹淶
 
´´½¨¶ÔÏóÀàÐ͹淶µÄÓï·¨ÈçÏÂ
 
CREATE [OR REPLACE] TYPE [schema.] type_name
[AUTHID {CURRENT_USER|DEFINER}] AS OBJECT (
Attribute1 datatype,
[attribute2 datatype,…]
[method 1]
[method 2]);
/

 
 
 
ÆäÖÐAUTHIDָʾ½«À´Ö´Ðи÷½·¨Ê±£¬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ