Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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¿ ......

Êý¾Ý¿âÐÐתÁеÄsqlÓï¾ä£¨×ª£©


Êý¾Ý¿âÐÐתÁеÄsqlÓï¾ä
ÎÊÌâÃèÊö
¼ÙÉèÓÐÕÅѧÉú³É¼¨±í(CJ)ÈçÏÂ
Name Subject Result
ÕÅÈý ÓïÎÄ 80
ÕÅÈý Êýѧ 90
ÕÅÈý ÎïÀí 85
ÀîËÄ ÓïÎÄ 85
ÀîËÄ Êýѧ 92
ÀîËÄ ÎïÀí 82
ÏÖÔÚ Ïëд sql Óï¾ä     ²éѯºó½á¹û Ϊ    
ÐÕÃû ÓïÎÄ Êýѧ ÎïÀí
ÕÅÈý 80 90 85
ÀîËÄ 85 92 82& ......

[ת]SQLÐÐÁл¥»»

ÎÊÌ⣺¼ÙÉèÓÐÕÅѧÉú³É¼¨±í(tb)ÈçÏÂ:
ÐÕÃû ¿Î³Ì ·ÖÊý
ÕÅÈý ÓïÎÄ 74
ÕÅÈý Êýѧ 83
ÕÅÈý ÎïÀí 93
ÀîËÄ ÓïÎÄ 74
ÀîËÄ Êýѧ 84
ÀîËÄ ÎïÀí 94
Ïë±ä³É(µÃµ½ÈçϽá¹û)£º 
ÐÕÃû ÓïÎÄ Êýѧ ÎïÀí 
---- ---- --- ......

£¨×ª£©SQL¾­µäÃæÊÔÌ⼯£¨Ò»£©


µÚÒ»Ì⣺
Ϊ¹ÜÀíÒµÎñÅàѵÐÅÏ¢£¬½¨Á¢3¸ö±í£º
S(S#,SN,SD,SA)S#,SN,SD,SA·Ö±ð´ú±íѧºÅ£¬Ñ§Ô±ÐÕÃû£¬ËùÊôµ¥Î»£¬Ñ§Ô±ÄêÁä
C(C#,CN)C#,CN·Ö±ð´ú±í¿Î³Ì±àºÅ£¬¿Î³ÌÃû³Æ
SC(S#,C#,G) S#,C#,G·Ö±ð´ú±íѧºÅ£¬ËùÑ¡µÄ¿Î³Ì±àºÅ£¬Ñ§Ï°³É¼¨
(1)ʹÓñê×¼SQLǶÌ×Óï¾ä²éѯѡÐ޿γÌÃû³ÆÎª’˰ÊÕ»ù´¡’µÄѧԱѧºÅºÍÐÕÃû?
(2) ......

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

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