oracleÖжÔÏó±í£¬ref¼°derefµÄÒ»¸öʵÀý¡£
ORACLEÔÚ¹ØÏµÊý¾Ý¿âÍ⣬ÈÚÈëÁËÃæÏò¶ÔÏóµÄÔªËØ£¬±ÈÈç¿ÉÒÔ´´½¨type£¬typeÖ®¼ä¿ÉÒԼ̳У¬type¿ÉÒÔ´ø¹¹Ô캯Êý¡¢ÅÅÐòº¯Êý¡¢¸÷ÖÖ¸÷ÑùµÄ³ÉÔ±º¯Êý¡¢´æ´¢¹ý³ÌµÈµÈ¡£
¶ÔÏó±íÊÇÖ¸¸Ã±íµÄÒ»ÐоÍÊÇÒ»¸ö¶ÔÏó£¬ÓÐÒ»¸öOID(object ID)£¬¶ÔÏó±íÖ®¼äûÓÐÖ÷Íâ¼ü¹ØÁªµÄ¸ÅÄΪÁËÌåÏÖÕâ²ã¹ØÏµ£¬oracleÖÐÓÃÁËref¶ÔÏóÀ´ÊµÏÖ¡£
ÏÂÃæÀý×Ó£¬´´½¨Ò»¸öµØÖ·ÀàÐÍ£¬Ò»¸öÈËÔ±ÀàÐÍ£¬ÈËÔ±ÓеØÖ·ÊôÐÔ£¬ËùÒÔÔÚÈËÔ±ÀàÐÍÖÐÉèÖÃÒ»¸öref addressÀ´È·¶¨Ö¸ÏòËûËùÔÚµØÖ·µÄÖ¸Õë¡£
--´´½¨µØÖ·ÀàÐÍ
create type address as object(
street varchar2(35),
city varchar2(15),
state char(2),
zip_code integer
);
create table addresses of address; --´´½¨µØÖ·¶ÔÏó±í
--´´½¨ÈËÔ±ÀàÐÍ
create type person as object(
first_name varchar2(15),
last_name varchar2(15),
birthday date,
home_address ref address, --Ö¸Ïò¶ÔÓ¦µÄµØÖ·£¬¸ÃµØÖ·Ó¦¸ÃÔÚÁíÍâÒ»¸ö¶ÔÏó±íÖеÄÒ»ÐÐ
phone_number varchar2(15)
);
CREATE TABLE persons of person; --´´½¨ÈËÔ±¶ÔÏó±í
--²åÈëÒ»¸öµØÖ·
insert into addresses values(address('nanhai','shenzhen','gd','518054'));
insert into addresses values(address('shennan','shenzhen','gd','518057'));
--²åÈëÒ»¸öÈËÔ±£¬×¢ÒâÕâÀïµÄhome_address²¿·ÖÊÇÈçºÎ²åÈëÒ»¸öref addressµÄ¡£
insert into persons values(person('shitou','haha',to_date('1982-07-05','yyyy-mm-dd'),
(select ref(a) from addresses a where street='nanhai'),
'1355555555'));
--Ò²¿ÉÒÔÓÃÏÂÃæµÄ¹ý³ÌÀ´²åÈëÒ»¸öÈËÔ±¼Ç¼
declare
addref ref address ;
begin
select ref(a) into addref from addresses a where street='nanhai';
insert into persons
values (person('shitou','haha',to_date('1982-07-05','yyyy-mm-dd'),
addref,'1355555555'));
commit;
end;
--²éѯijÈ˵ĵØÖ·ÐÅÏ¢
select first_name,deref(home_address) from persons;
--Ð޸ĵØÖ·
update persons set home_address=(select ref(a) from addresses a where street='shennan');
--ɾ³ýij¸
Ïà¹ØÎĵµ£º
¾³£ÓÃoracleµÄÈ˶ÔÏÂÃæµÄÕâÌõÐÅÏ¢¿Ï¶¨²»»áİÉú£º“¼àÌý³ÌÐòµ±Ç°ÎÞ·¨Ê¶±ðÁ´½ÓÃèÊö·ûÖÐÇëÇóµÄ·þÎñ”¡£Æäʵ²úÉúÕâ¸öÎÊÌâµÄ¸ù±¾ÔÒò²»ÊǼàÌýûÓÐÆðÀ´£¬¶øÊǼàÌýûÓмàÌýÄãÒªÁ¬½ÓµÄoracleʵÀý¡£
´ó¼Ò¶¼Ã÷°×£¬oracleÖ»ÓÐÁ½Õ߼汸²ÅÄÜÏòÍâ½çÌṩ·þÎñ£ºÒ»¸öÊǼàÌý£¬ÓÃÓÚ½Ó ......
½Å±¾1£º
SELECT NAME
,value
,description
from ( --GV$SYSTEM_PARAMETER
SELECT x.inst_id as instance
,x.indx+1
,ksppinm as NAME
,ksppity
,ksppstvl as value
,ksppstdf as isdefault& ......
1.´´½¨²âÊÔ±í
create table users(
userid int primary key,
username varchar2(20),
userpwd varchar2(20)
);
insert into users values(1,'test','test');
insert into users values(2,'test','test');
insert into users values(3,'test','test');
insert into users values(4,'test','test');
insert i ......
¼¸¸ö¼òµ¥µÄ²½Öè´ó·ùÌá¸ßOracleÐÔÄÜ--ÎÒÓÅ»¯Êý¾Ý¿âµÄÈý°å¸«¡£
Êý¾Ý¿âÓÅ»¯µÄÌÖÂÛ¿ÉÒÔ˵ÊÇÒ»¸öÓÀºãµÄÖ÷Ìâ¡£×ÊÉîµÄOracleÓÅ»¯ÈËԱͨ³£»áÒªÇóÌá³öÐÔÄÜÎÊÌâµÄÈ˶ÔÊý¾Ý¿â×öÒ»¸östatspack£¬Ìù³öÊý¾Ý¿âÅäÖõȵȡ£»¹ÓеÄÈËÈÏΪҪץ³öÖ´ÐÐ×îÂýµÄÓï¾äÀ´½øÐÐÓÅ»¯¡£µ«Êµ¼ÊÇé¿öÊÇ£¬Ìá³öÒÉÎʵÄÈ˺ܿÉÄܸù±¾²»¶®Ö´Ðмƻ®£¬¸ü²»ÒªËµstatspac ......
ÓÃoracleÊý¾Ý¿âµÄ´æ´¢¹ý³ÌʵÏÖ·µ»Ø½á¹û¼¯²¢ÊµÏÖ·ÖÒ³µÄ¹¦ÄÜ¡£
Óû§´«Èë²ÎÊý
Ò»ÏÂÊÇת±ðÈ˵ĴúÂë
--°üÉùÃ÷
create or replace package p_page is
-- Author : PHARAOHS
-- Created : 2006-4-30 14:14:14
-- Purpose : ·ÖÒ³¹ý³Ì
TYPE type_cur IS REF CURSOR; &n ......