oracle Óαê
oracle Óαê
¹Ø¼ü×Ö: oracle Óαê
1. Óαê: ÈÝÆ÷£¬´æ´¢SQLÓï¾äÓ°ÏìÐÐÊý¡£
2. ÓαêÀàÐÍ: ÒþʽÓα꣬ÏÔʾÓα꣬REFÓαꡣÆäÖУ¬ÒþʽÓαêºÍÏÔʾÓαêÊôÓÚ¾²Ì¬Óα꣨ÔËÐÐÇ°½«ÓαêÓëSQLÓï¾ä¹ØÁª£©,REFÓαêÊôÓÚ¶¯Ì¬Óαê(ÔËÐÐʱ½«ÓαêÓëSQLÓï¾ä¹ØÁª)¡£
3. ÒþʽÓαê: DMLÓï¾ä¶ÔÓ¦µÄÓα꣬ÓÉOracle×Ô¶¯¹ÜÀí£¬Ò²³ÆSQLÓαꡣ£¨ËùÓеÄDML²Ù×÷¶¼±»OracleÄÚ²¿½âÎöΪһ¸öcursorÃûΪSQLµÄÒþʽÓα꣩
q ÒþʽÓαêµÄÊôÐÔÓУº
q %FOUND – SQL Óï¾äÓ°ÏìÁËÒ»Ðлò¶àÐÐʱΪ TRUE
q %NOTFOUND – SQL Óï¾äûÓÐÓ°ÏìÈκÎÐÐʱΪTRUE
q %ROWCOUNT – SQL Óï¾äÓ°ÏìµÄÐÐÊý
q %ISOPEN - ÓαêÊÇ·ñ´ò¿ª£¬Ê¼ÖÕΪFALSE
¾ÙÀý˵Ã÷£º
Sql´úÂë
declare
v_empno emp.empno %type:=7000;
begin
update emp set ename='fxe' where empno=v_empno;
if SQl%found then
dbms_output.put_line(SQL%rowcount||'Delete Ok!');
end if;
if SQL%notfound then -- Ò»ÌõSQL¾Í±íʾÊÇÒ»¸öÒþʽÓαê
dbms_output.put_line('¹ÍÔ±±àºÅ'||v_empno||'²»´æÔÚ');
end if;
end;
declare
v_empno emp.empno %type:=7000;
begin
update emp set ename='fxe' where empno=v_empno;
if SQl%found then
dbms_output.put_line(SQL%rowcount||'Delete Ok!');
end if;
if SQL%notfound then -- Ò»ÌõSQL¾Í±íʾÊÇÒ»¸öÒþʽÓαê
dbms_output.put_line('¹ÍÔ±±àºÅ'||v_empno||'²»´æÔÚ');
end if;
end;
4. ÏÔʾÓαê
Ïà¹ØÎĵµ£º
MySQLµÄID·Ç³£·½±ã¶¨Ò壬ֻҪָ¶¨Æä×ֶεÄ×Ô¶¯ÔöÁ¿ÊôÐÔ¼´¿É¡£
µ«ÊÇOracle²»ÐУ¬ÐèÒª¶¨ÒåsequenceºÍtriggedr£¬µ±È»trigger¿ÉÒÔ²»¶¨Ò壬µ«ÊDz»·½±ã¡£
±í¶¨ÒåÈçÏ£º
CREATE TABLE GAME
(
ID
INTEGER ......
Oracle µÄ¹ÜÀí¿ÉÒÔͨ¹ýOEM»òÕßÃüÁîÐнӿڡ£ Oracle ClusterwareµÄÃüÁ¿ÉÒÔ·ÖΪÒÔÏÂ4ÖÖ£º
½Úµã²ã£ºosnodes
ÍøÂç²ã£ºoifcfg
¼¯Èº²ã£ºcrsctl, ocrcheck,ocrdump,ocrconfig
Ó¦Óò㣺srvctl,onsctl,crs_stat
ÏÂÃæ·Ö±ðÀ´½éÉÜÕâЩÃüÁî¡£
Ò»£® ½Úµã²ã
Ö»ÓÐÒ»¸öÃüÁ¡¡osnodes£¬ Õâ ......
ÔÚOracleÖÐʹÓÃ×Ô¶¯µÝÔöÁÐ
Oracle 沒ÓÐ類ËÆ MS-SQL ¿ÉÒÔÖ±½ÓÐÞ¸Ä欄λ屬ÐÔ£¬設¶¨³É×Ô動編號欄룬ËùÒÔÎÒ們±Ø須͸過 Sequence Îï¼þµÄ nextval ·½·¨£¬È¡µÃÆäÏÂÒ»個Öµ£¬È»áá將´ËÖµÐÂÔöÖÁ TABLE ÖУ¬製Ôì³öÓÐ×Ô動編 ......
ÔÚOracleÖÐʹÓÃGuid
ÔÚOracleÖпÉÒÔÓÃSYS_GUID()À´Éú³ÉÒ»¸öguid,Ï൱ÓÚmsSqlÖеÄnewid()¡£
ÔÚOracle9iºÍOracle 10g ÀïSYS_GUID²úÉúµÃµ½µÄÊý¾ÝÊÇ32 λµÄ£¬È磺234E45F0077881AAE0430AA3034681AA
µ«OracleÖеÄguidÓëmsSqlÖеÄguid¸ñʽ²»ÍêÈ«Ïàͬ¡£
½«OracleÖеÄguid·Ö¸î³ÉΪ Windowsϵͳ ObjectId µÄ¸ñʽ£º{8-4-4-4-12} £ ......
ÔÚOracleÖеÄÊ÷ÐβÙ×÷
1.È¡×ӽڵ㼰·¾¶(ÕýÊ÷):
select t.id ,t.code, t.name ,t.pid
,SYS_CONNECT_BY_PATH(t.id,'.')||'.' as IdPath
from tas_catalog t
--where id!=110
start with id=110
connect by pid = prior id
order siblings by id
2.È¡¸÷¼¶¸¸½Úµã(µ¹Ê÷)£º
select t.id ,t.code, t.na ......