OracleÖÐÖ»¸üÐÂÁ½Õűí¶ÔÓ¦Êý¾ÝµÄ·½·¨
OracleÖÐÖ»¸üÐÂÁ½Õűí¶ÔÓ¦Êý¾ÝµÄ·½·¨
ÏȽ¨Á¢Ò»¸ö½á¹¹Ò»Ä£Ò»ÑùµÄ±íemp1£¬²¢ÎªÆä²åÈ벿·ÖÊý¾Ý
create table emp1
as
select * from emp where deptno = 20;
updateµôemp1ÖеIJ¿·ÖÊý¾Ý
update emp1
set sal = sal + 100,
comm = nvl(comm,0) + 50
È»ºóÎÒÃÇÊÔ×ÅʹÓÃemp1ÖÐÊý¾ÝÀ´¸üÐÂempÖÐsal ºÍ commÕâÁ½ÁÐÊý¾Ý¡£
ÎÒÃÇ¿ÉÒÔÕâôд
Update emp
Set(sal,comm) = (select sal,comm. from emp1 where emp.empno = emp1.empno)
Where exists (select 1 from emp1 where emp1.empno = emp.empno)
ÇëÄãÓÈÆä×¢ÒâÕâÀïµÄwhere×Ӿ䣬Äã¿ÉÒÔ³¢ÊÔ²»Ð´where×Ó¾äÀ´Ö´ÐÐÒÔÏÂÕâ¾ä»°£¬Ä㽫»áʹµÃempÖеĺܶàÖµ±ä³É¿Õ¡£
ÕâÊÇÒòΪÔÚoracleµÄupdateÓï¾äÖÐÈç¹û²»Ð´where×Ó¾ä,oracle½«»áĬÈϵİÑËùÓеÄֵȫ²¿¸üУ¬¼´Ê¹ÄãÕâÀïʹÓÃÁË×Ó²éѯ²¢ÇÒijÔÚÖµ²¢²»ÄÜÔÚ×Ó²éѯÀïÕÒµ½£¬Äã¾Í»áÏ뵱ȻµÄÒÔΪ,oracle»òÐí½«»áÌø¹ýÕâЩֵ°É£¬Äã´íÁË£¬oracle½«»á°Ñ¸ÃÐеÄÖµ¸üÐÂΪ¿Õ¡£
ÎÒÃÇ»¹»¹¿ÉÒÔÕâôд£º
update (select a.sal asal,b.sal bsal,a.comm acomm,
b.comm bcomm from emp a,emp1 b where a.empno = b.empno)
set asal = bsal,
acomm = bcomm;
ÕâÀïµÄ±íÊÇÒ»¸öÀàÊÓͼ¡£µ±È»ÄãÖ´ÐÐʱ¿ÉÄÜ»áÓöµ½ÈçÏ´íÎó:
ERROR λÓÚµÚ 2 ÐÐ:
ORA-01779: ÎÞ·¨ÐÞ¸ÄÓë·Ç¼üÖµ±£´æ±í¶ÔÓ¦µÄÁÐ
ÕâÊÇÒòΪн¨µÄ±íemp1»¹Ã»ÓÐÖ÷¼üµÄÔµ¹Ê
ÏÂÃæÔö¼ÓÒ»¸öÖ÷¼ü
alter table emp1 add constraint pk_emp1 primary key (empno);
Ö´ÐÐÖ®ºó
ÔÚÖ´ÐÐÇ°ÃæµÄÓï¾ä¾ÍÄܳɹ¦¡£
ÕâÀïÎÒÃÇ×ܽáһϣº
ÔÚoracleÖв»´æÔÚupdate from½á¹¹£¬ËùÒÔÓöµ½ÐèÒª´ÓÁíÍâÒ»¸ö±íÀ´¸üб¾±íµÄÖµµÄÎÊÌâµÄʱºò£¬ÓÐÁ½ÖÖ½â¾öµÄ°ì·¨:
Ò»ÖÖÊÇʹÓÃ×Ó²éѯ£¬Ê¹ÓÃ×Ó²éѯʱһ¶¨Òª×¢ÒâwhereÌõ¼þ(Ò»°ãºóÃæ½Óexists×Ó¾ä)£¬³ý·ÇÁ½¸ö±íÊÇÒ»Ò»¶ÔÓ¦µÄ£¬·ñÔòwhereÌõ¼þ±Ø²»¿ÉÉÙ£¬ÒÅ©µôwhereÌõ¼þʱ¿ÉÄܻᵼÖ²åÈë´óÁ¿¿ÕÖµ¡£
ÁíÍâÒ»ÖÖÊÇÀàÊÓͼµÄ¸üз½·¨£¬ÕâÒ²ÊÇoracleËù¶ÀÓеġ£ÏȰѶÔÓ¦µÄÊý¾ÝÈ«²¿³éÈ¡³öÀ´£¬È»ºó¸üбíÒ»Ñù¸üÐÂÊý¾Ý£¬ÕâÀïÐèҪעÒâµÄÊÇ£¬±ØÐë±£Ö¤±íµÄÊý¾ÝΨһÐÍ¡£
Ïà¹ØÎĵµ£º
empÔ±¹¤±í
(empnoÔ±¹¤ºÅ/enameÔ±¹¤ÐÕÃû/job¹¤×÷/mgrÉϼ¶±àºÅ/hiredateÊܹÍÈÕÆÚ/salн½ð/commÓ¶½ð/deptno²¿ÃűàºÅ)
------1.Ñ¡Ôñ²¿ÃÅ30ÖеÄËùÓÐÔ±¹¤.
select ename
from emp
where deptno = 30;
------2.ÁгöËùÓаìÊÂÔ±(CLERK)µÄÐÕÃû£¬±àºÅºÍ²¿ÃűàºÅ.
select ename,empno,deptno
from emp
where job='CLERK';
--- ......
ORACLEµÄѧϰÒѾ¸æÒ»¶Î茖£¬½ñÌìÒѾ¿ªÊ¼HIBERNATEµÄѧϰ£¬×ÜÌå¸Ð¾õͦÁ¼ºÃµÄ£¬ËäÈ»ºÜ¶àµÄ֪ʶ²»ÄܼÇס£¬µ«ÊÇÔÚʹÓõÄʱºòÄܹ»Ñ¸ËÙµÄÕÒ¶Ô·½·¨À´½â¾öÏàÓ¦µÄÎÊÌ⣬ֻҪÇÚ¼ÓÁ·Ï°£¬¾Í¿ÉÒÔ¼Çס¡£Ö»²»¹ý£¬Ê±¼äÓÐ珢£¬HIBERNATEµÄ¿Î³ÌÒ²Ö»ÓÐÈýÌìµÄʱ¼ä£¬ËùÒÔÔÚÕâÆÚ¼äÎÒµÄÈÎÎñÊǾ¡Á¿ÎüÒý£¬ÔÚ»¨·Å¼ÙµÄʱºòÀ´¸´Ï° ......
RAC£¬ Data Gurad£¬ Stream ÊÇOracle ¸ß¿ÉÓÃÐÔÌåϵÖеÄÈýÖÖ¹¤¾ß£¬Ã¿¸ö¹¤¾ß¼´¿ÉÒÔ¶ÀÁ¢Ó¦Óã¬Ò²¿ÉÒÔÏ໥ÅäºÏ¡£ ËûÃǸ÷×ԵIJàÖØµã²»Í¬£¬ÊÊÓó¡¾°Ò²²»Í¬¡£
RAC ËüµÄÇ¿ÏîÔÚÓÚ½â¾öµ¥µã¹ÊÕϺ͸ºÔؾùºâ£¬Òò´ËRAC ·½°¸³£ÓÃÓÚ7*24 µÄºËÐÄϵͳ£¬µ«RAC ·½°¸ÖеÄÊý¾ÝÖ»ÓÐÒ»·Ý£¬¾¡¹ ......
1,Áгö×îµÍн½ð´óÓÚ1500µÄ¸÷ÖÖ¹¤×÷¼°´ÓÊ´˹¤×÷µÄÈ«²¿¹ÍÔ±ÈËÊý¡£
select job,count(empno) from emp
where job in(select job from emp group by job having min(sal)>1500)
group by job;
2£¬Áгöн½ð¸ßÓÚ¹«Ë¾Æ½¾ùн½ðµÄËùÓÐÔ±¹¤ËùÔÚ²¿ÃÅ£¬Éϼ¶Áìµ¼£¬¹«Ë¾µÄ¹¤×ʵȼ¶¡£
select e.ename,d.dname,m.ename,e.sal,sa. ......
£¨1 £© ×¢ÒâÔö¼ÓÔ¼ÊøÊ±µÄд·¨£¬ºÍORACLE ÂÔÓв»Í¬
Oracle £º
ALTER TABLE SCHEMA.PREFIX_INFO ADD (
CONSTRAINT PK_PREFIX_INFO PRIMARY KEY (INFO_ID));
PostgresQL £º
alter table schema.prefix_info add constraint prefix_info_pkey primary key(info_id);
£¨2 £©ÏµÍ³Ä¬ÈϵÄ×î´óÖµÓëORACLE ²»Í¬
Oracle £ ......