oracle µÄDMLÃüÁîµÄÏêϸ´¦Àí¹ý³Ì
ÔÎĵØÖ·£ºhttp://book.csdn.net/bookfiles/732/10073222578.shtml
¶ÔÓÚDMLÓï¾äÀ´Ëµ£¬Ö»ÒªÐÞ¸ÄÁËÊý¾Ý¿é£¬OracleÊý¾Ý¿â¾Í»á½«ÐÞ¸ÄǰµÄÊý¾Ý±£ÁôÏÂÀ´£¬±£´æÔÚundo segmentÀ¶øundo segmentÔò±£´æÔÚundo±í¿Õ¼äÀï¡£´ÓOracle 9iÆð£¬ÓÐÁ½ÖÖundoµÄ¹ÜÀí·½Ê½£º×Ô¶¯Undo¹ÜÀí£¨Automatic Undo Management£¬¼ò³ÆAUM£©ºÍÊÖ¹¤Undo¹ÜÀí£¨Manual Undo Management£¬¼ò³ÆMUM£©¡£Oracle 9i֮ǰֻÄÜʹÓÃMUM£¬¶øÇÒÔÚMUMÖУ¬undo segmentÓÖ½Ð×örollback segment¡£´ÓOracle 9iÆð£¬Oracle¾Í½¨ÒéʹÓÃAUM£¬¶ø²»Ó¦ÔÙʹÓÃMUMÁË¡£
7.1 DMLÓï¾äÓëundo
µ±ÎÒÃÇ·¢³öÒ»ÌõDML£¨±ÈÈçupdate t set col1='A' where col1='B'£©Óï¾äʱ£¬ÆäÖ´Ðйý³Ì¿É´óÖ¸ÅÀ¨ÎªÒÔϼ¸²½¡£
1. ÔÚshared poolÀï½øÐнâÎö£¬´Ó¶øÉú³ÉÖ´Ðмƻ®¡£¾ßÌå½âÎö¹ý³Ì¼ûµÚ5Õ¡£
2.¼ÙÉè¸ù¾ÝÖ´Ðмƻ®£¬µÃ³öcol1='B'µÄ¼Ç¼´æ·ÅÔÚ10ºÅÊý¾ÝÎļþµÄ54ºÅÊý¾Ý¿éÀï¡£
3. ·þÎñÆ÷½ø³ÌÔÚbuffer cacheÀïÕÒÒ»¸ö¿ÉÓõÄundoÊý¾Ý¿é£¬Èç¹ûûÓз¢ÏÖ£¬Ôòµ½undo±í¿Õ¼äÀïÕÒÒ»¸ö¿ÉÓõÄundo¿é£¬²¢µ÷Èëbuffer cache¡£¼ÙÉè»ñµÃµÄundoÊý¾Ý¿éºÅΪ24ºÅ£¬Î»ÓÚ11ºÅundoÊý¾ÝÎļþÀï¡£
4. ½«¸Ä±äǰµÄÖµ£¬Ò²¾ÍÊÇA·ÅÈë11ºÅundoÊý¾Ý¿é¡£
5. ÓÉÓÚundoÊý¾Ý¿é·¢ÉúÁ˱仯£¬ÓÚÊDzúÉúÖØ×ö¼Ç¼£¬¼ÙÉèÖØ×ö¼Ç¼ºÅΪ120¡£
ÐкŠÊÂÎñid file# block# row column value
120 T1 24 11 10 col1 A
6.ÔÚbuffer cacheÀïÕÒµ½54ºÅÊý¾Ý¿é¡£Èç¹ûûÓз¢ÏÖ£¬Ôò´Ó10ºÅÊý¾ÝÎļþÀïµ÷Èë¡£
7. ½«¸Ä±äºóµÄÖµ£¬Ò²¾ÍÊÇB·ÅÈë54ºÅÊý¾Ý¿é¡£
8. ÓÉÓÚÊý¾Ý¿é·¢ÉúÁ˱仯£¬ÓÚÊDzúÉúÖØ×ö¼Ç¼£¬¼ÙÉèÖØ×ö¼Ç¼ºÅΪ121¡£
ÐкŠÊÂÎñid file# block# row column value
121 T1 10 54 10 col1 &n
Ïà¹ØÎĵµ£º
declare
sqlstring varchar2(100);
emprow emp_bak%rowtype;
myno emp_bak.empno%type;
begin
--sqlstring:='create table emp_bak as select * from emp';
sqlstring:='select * from emp_bak where empno=:myno and sal>:mysal';
myno:='&ÇëÊäÈëÔ±¹¤±àºÅ';
--¶¯Ì¬SQ ......
×÷ÕߣºÒ×ÎÄ¿¡
ÓÊÏ䣺yiwenjun@126.com
Ê×ÏÈÒª°ÑOracle µÄ¼àÌýºÍ·þÎñÁ½Ïî´ò¿ª
´ò¿ªodbcÊý¾ÝÔ´ÅäÖýçÃæ,Ñ¡ÔñϵͳDSN£¬Ìí¼Ó£¬Ñ¡ÔñOracleÇý¶¯³ÌÐò
¹Ø¼üÊÇÏÂÃæ²ÎÊýµÄÉèÖÃ
Data source name:×Ô¼ºÎª¸ÃÊý¾ÝÔ´ÃüµÄÃû
description:Ëæ±ã×Ô¼ºÃèÊöÀ²
TNS server name:ÏÂÀ²Ëµ¥ÓУ¨Èç¹ûûÓеϰ£¬¾Í×Ô¼ºÔÚnet configuration assist ......
1. ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2. CHR
¸ø³öÕûÊý,·µ»Ø¶ÔÓ¦µÄ×Ö·û;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
ZH C
-- ......
´Óoracle 9i ¿ªÊ¼£¬ÌṩÁËÒ»¸ö½Ð×ö“¹ÜµÀ»¯±íº¯Êý”µÄ¸ÅÄ¿ÉÒÔÀûÓùܵÀ»¯À´·µ»Ø±íº¯Êý¡£
µ«ÕâÖÖÀàÐ͵ĺ¯Êý£¬±ØÐë·µ»ØÒ»¸ö¼¯ºÏÀàÐÍ£¬ÇÒ±êÃ÷ pipelinedÒÔ¼°²»ÄÜ·µ»Ø¾ßÌå±äÁ¿£¬¶øÊÇÒÔÒ»¸ö¿Õ return ·µ»Ø!
Õâ¸öº¯ÊýÖУ¬Í¨¹ý pipe row () Óï¾äÀ´ËͳöÒª·µ»ØµÄ±íÖеÄÿһÐÐ
ÔÚµ÷ÓÃÕâ¸öº¯ÊýµÄʱºò£¬Í¨¹ý table() ¹Ø¼ ......
ÔÚÊý¾Ý¿âÖо³£ÒªºÏ²¢×Ö·û´®£¬¶øºÏ²¢×Ö·û´®µÄ·½·¨Óкܶ࣬ÏÖÔÚ×ܽáÈçÏ£º
--´´½¨»á»°¼¶ÁÙʱ±í
create global temporary table TMPA
(
ID INTEGER,
NAME VARCHAR2(10)
)
on commit preserve rows;
--²åÈë¼Ç¼
insert into tmpa select 1,'aa' from dual;
insert into tmpa select 1,'bb ......