±±´óÇàÄñoracleѧϰ±Ê¼Ç13
ǶÌ×±í£º
Óë¿É±äÊý×éÀàËÆ£¬²»Í¬Ö®´¦ÊÇǶÌ×±íûÓÐÊý¾ÝÉÏÏÞ¡£
Óï·¨£º
´´½¨»ùÀàÐÍ
create or replace type ǶÌ×±í»ùÀàÐÍÃû as object(×ֶβÎÊý);
create or replace type mingxitype as object(
goodsid varchar(15),
incount int,
providerid varchar(10)
)not final;
´´½¨Ç¶Ì×±íÀàÐÍ
create or replace type ǶÌ×±íÀàÐÍÃû as table of ÀàÐÍÃû;
create or replace type nestmingxitype as table of mingxitype;
´´½¨±í
create table Ö÷±íÃû(
×Ö¶Î1 ÀàÐÍ,
×Ö¶Î2 ÀàÐÍ,
...
×Ö¶În ÀàÐÍ,
ǶÌ×ÀàÐÍ×ֶΠǶÌ×±íÀàÐÍÃû
)nested table ǶÌ×ÀàÐÍ×Ö¶ÎÃû store as ÕæÕý´æ´¢µÄǶÌ×±í;
create table instock
(
orderid varchar(13) not null primary key,
indate date,
mingxi nestmingxitype
)nested table mingxi store as mingxitable;
ÕâÀïÎÒÏë·ÃÎÊʵ¼Ê´æ´¢µÄ±ímingxitable£¬½á¹ûoracle±¨´íÈçÏ£º
cannot reference nested table column's storage table
¿´À´Ïë¿´¿´ÊDz»ÐÐÁË
Ìí¼ÓÊý¾Ý£º
insert into Ö÷±íÃû [(×Ö¶ÎÁбí)] values(
»ù±¾²ÎÊýÁбí,
ǶÌ×±íÀàÐÍÃû(ǶÌ×±í»ùÀàÐÍÃû(²ÎÊýÁбí))
);
insert into instock values(
'200200060001',
to_date('2002-08-06','yyyy-mm-dd'),
nestmingxitype(
mingxitype('j001',200,'1001'),
mingxitype('s001',1000,'1002'),
mingxitype('t005',500,'1003')
)
);
¸üÐÂǶÌ×±íÊý¾Ý£º
¸üÐÂǶÌ×±íʱ²¢²»ÓÃÏñ¸üпɱäÊý×éÒ»Ñù¸üÐÂÈ«²¿Êý¾Ý£¬¿ÉÒÔ¸üÐÂÖÆ¶¨Êý¾Ý¡£
update table(select t.mingxi from instock t where orderid = 1002) mx
set mx.incount = 500
where mx.goodid='10001';
²éѯǶÌ×±íÖÐÊý¾Ý£º
select * from table(select p.mingxi from instock where orderid = '200200060001');
ɾ³ýǶÌ×±íÊý¾Ý£º
delete from table(select t.mingxi from instock t where orderid = '200200060001') t
where t.goodsid='j0001';
×ÜÖ®£¬Ê¹ÓÃtable()º¯Êý½«Ç¶Ì×±í¿´×÷Ò»ÕÅÆÕͨµÄ±í£¬²Ù×÷ʱºò½«º¯ÊýǶÌ×µ½sqlÓï¾äÖм´¿É¡£
¶ÔÏó±í£º
±íÖÐÿһÐж¼´ú±íÒ»¸ö¶ÔÏó
°üº¬¶ÔÏó±êʶ·û OID
REF²Ù×÷·ûÓÃÓÚÒýÓÃÐжÔÏó
DEREF²Ù×÷·ûÓû§·µ»ØÐжÔÏóµÄÖµ
Àý£º
´´½¨¿ÆÊÒÀàÐÍ
create or replace type officetype as object(
id varchar(10),
typename varchar(10)
);
ͨ¹ý¿ÆÊÒÀàÐÍ´´½¨¿ÆÊÒ±í
create table offic of officetype;
²
Ïà¹ØÎĵµ£º
Ëø
²éѯÆäËûÓû§µÄ±í <Óû§Ãû.±íÃû>
Ëø¶¨Ä£Ê½£º
Ðм¶Ëø
Ðб»ÅÅËûÐÔËø¶¨
ÔÚijÐеÄËø±»ÊÍ·Å֮ǰ£¬ÆäËûÓû§²»ÄÜÐ޸ĴËÐÐ
ʹÓÃcommit rollbackÃüÁîÊÍ·ÅËø
»ñÈ¡Ðм¶Ëø
ʹÓÃinsert¡¢updateÓï¾ä£¬×Ô¶¯ÉÏÐм¶Ëø
ʹÓÃselect...for update [of ÁÐÃû] Óï¾ä×Ô¶¯»ñÈ¡Ðм¶Ëø
ÔÚ±íµÄÒ»Ðлò¶àÐзÅÖÃÅÅËûËø£¬ÓÃÓÚ·ÀÖÎÆäË ......
ÒòÎªÇ¿ÖÆ¹Ø»ú£¬¿ª»úµÄʱºò½øÈëÊý¾Ý¿â±¨´í£º
ora_01034:oracle not available
ora_27101:shared memory realm does not exit
½â¾ö·½·¨£º
1.´ò¿ªCMD
2.ÊäÈë sqlplus "/as sysdba"
3.»Ø³µ
4.ÊäÈë startup
5.½áÊø ......
----------------------------------------------------------------------------
Ïà¹ØÖªÊ¶£ºOracle SYNONYM£¨Í¬Òå´Ê£©
----------------------------------------------------------------------------
ÊÇÒ»ÖÖÓ³Éä¹ØÏµ£¬¿ÉÒÔÀí½âΪ±íµÄÒ»Ö̶ֹ¨±ðÃû
ͬÒå´ÊµÄºÃ´¦£º½¨Á¢Ò»¸öͬÒå´Ê¿ÉÒÔÅųýÒ»¸ö¶ÔÏóÃû×ÖµÄÏÞÖÆ
Èç¹ûÄãµÄ ......
¹ØÏµÐÍÊý¾Ý¿âÀíÂÛÖÐ×Ö¶ÎÖµ±ØÐëÊǵ¥Öµ£¬¶øoracleÖÐÔÊÐíÔÚÒ»¸ö×Ö¶ÎÖд洢һ¸ö±íµÄÄÚÈÝ¡£
È磺Ա¹¤±íÖеÄÍâ¼ü ²¿ÃűàºÅ£¬oracleÖÐÕâ¸ö×ֶοÉÒÔ´æ·Å²¿ÃŵļǼ¶ø²¢²»ÊÇÒ»¸öÍâ¼ü£¬ÕâÑù²éѯʱºòµÄЧÂÊ»áÌá¸ß¡£
¿É±äÊý×飺
´´½¨´øÓпɱäÊý×éµÄ±í
´´½¨¿É±äÊý×é»ùÀàÐÍ
create or replace type »ùÀàÐÍÃû as object(×Ö¶ÎÇåµ¥);
......
3ÔÂ6ÈÕ£º
¾Å¡¢±í¹ÜÀí£º
Ò»¡¢ÔÙ±í¹ÜÀíÖÐÐèҪѧϰµÄÄÚÈÝ£º
1¡¢ ´´½¨±í
2¡¢ ³£ÓõÄÊý¾ÝÀàÐÍ
3¡¢ ɾ³ý±í
4¡¢ ¸´ÖƱí
5¡¢ Ð޸ıí
6¡¢ ±íÖØÃüÃû
7¡¢ ½Ø¶Ï±í
8¡¢ ±íµÄÔ¼ÊøÌõ¼þ
¶þ¡¢´´½¨±í
³£¼û±íÓï·¨£º
´´½¨±íÓï·¨£º
CREATE TABLE ±íÃû
(
&nb ......