Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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Ëù¶ÀÓеġ£ÏȰѶÔÓ¦µÄÊý¾ÝÈ«²¿³éÈ¡³öÀ´£¬È»ºó¸üбíÒ»Ñù¸üÐÂÊý¾Ý£¬ÕâÀïÐèҪעÒâµÄÊÇ£¬±ØÐë±£Ö¤±íµÄÊý¾ÝΨһÐÍ¡£


Ïà¹ØÎĵµ£º

Ò»¸öÊý¾Ý¿â²Ù×÷À࣬ÊÊÓÃÓÚOracle£¬ACCESS,SQLSERVER

     ×î½ü×öÁËÒ»¸öÊý¾ÝÕï¶ÏµÄÏîÄ¿£¬ÀïÃæ×Ô¼ºÐ´ÁËÒ»¸öÊý¾Ý¿âµÄ²Ù×÷À࣬°üº¬£ºÁ¬½ÓÊý¾Ý¿â¡¢¶ÁÊý¾Ý±í¡¢Ö´ÐÐSQL²Ù×÷£¬ÊÍ·ÅÊý¾Ý¿âµÈ×é³É£¬Ï£Íû¶Ô´ó¼ÒÓÐÓã¬ÓÉÓÚˮƽÓÐÏÞ£¬ÈôÓдíÎó»òÕß´úÂë²»×ãµØ·½»¶Ó­Ö¸Õý£¬Ð»Ð»¡£
ADOOperate.H
//////////////////////////////////////////////////////////////////////
// ......

PostgreSQLºÍOracleÓ÷¨ÉϵÄһЩÇø±ð

£¨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 £ ......

oracleÁ·Ï°£¨mldnÊÓƵ£©¶þ

´´½¨±í
create table person (pid int,name varchar2(20) unique,
age int check(age between 0 and 150),sex varchar(4) default 'ÄÐ',tp int,
address varchar(200),constraint person_pid_pk primary key(pid));
²åÈëÊý¾Ý
insert into person values(0011,'ÁõÈý½ã',25,'ÄÐ',13930123021,'ºÓ±±Ê¡ÇúÑôÏØ');
´´½¨×Ó±í ......

OracleÖÐstart with¡­connect by prior×Ó¾äÓ÷¨

OracleÖÐstart with…connect by prior×Ó¾äÓ÷¨
connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select … from tablename
start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = ‘HBHqfWGWPy’
connect by prior org_id = parent_id;
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ