д´æ´¢¹ý³Ìʱ£¬Óõ½²ð·Ö×Ö·û´®£¬µÚÒ»¸ö´«Èë²ÎÊýΪ´ø·Ö¸î·ûµÄ×Ö·û´®£¬µÚ¶þ¸öΪ·Ö¸ô·ûµÄ¸öÊý£¬ÏÂÃæÊǵ¥Ìá³öÀ´µÄ·Ö¸î×Ö·û´®·½·¨£¬
create or replace procedure split(
i_PageIds in varchar2, --ÔÒ³ÃæpageId×飬ÒÔ×Ö·û´®ÐÎʽ´«Èë,È磺1001,1511,
i_PageIdsCount in number --pag ......
£¨1£©[Q]ÈçºÎ²åÈëµ¥ÒýºÅµ½Êý¾Ý¿â±íÖÐ
[A]¿ÉÒÔÓÃASCIIÂë´¦Àí£¬ÆäËüÌØÊâ×Ö·ûÈç&Ò²Ò»Ñù£¬Èç
insert into t values('i'||chr(39)||'m'); -- chr(39)´ú±í×Ö·û'
»òÕßÓÃÁ½¸öµ¥ÒýºÅ±íʾһ¸ö
or insert into t values('I''m'); -- Á½¸ö''¿ÉÒÔ±íʾһ¸ö'
£¨2£©[Q]Ëæ»ú³éȡǰNÌõ¼Ç¼µÄÎÊÌâ
[A]8iÒÔÉϰ汾
select * from (select * from tablename order by dbms_random.value) where rownum< N;
×¢£ºdbms_random°üÐèÒªÊÖ¹¤°²×°£¬Î»ÓÚ$ORACLE_HOME/rdbms/admin/dbmsrand.sql
dbms_random.value(100,200)¿ÉÒÔ²úÉú100µ½200·¶Î§µÄËæ»úÊý
£¨3£©[Q]ÔõôÑù³éÈ¡ÖØ¸´¼Ç¼
[A]select * from table t1 where t1.rowid !=
(select max(rowid) from table t2
where t1.id=t2.id and t1.name=t2.name)
»òÕß
select count(*), t.col_a,t.col_b from table t
group by col_a,col_b
having count(*)>1
Èç¹ûÏëɾ³ýÖØ¸´¼Ç¼£¬¿ÉÒ԰ѵÚÒ»¸öÓï¾äµÄselectÌæ»»Îªdelete
£¨4£©[Q]ÔõôÑùÉèÖÃ×ÔÖÎÊÂÎñ
[A]8iÒÔÉϰ汾£¬²»Ó°ÏìÖ÷ÊÂÎñ
pragma autonomous_transaction;
……
commit|rollback;
£¨5£©[Q]ÔõÃ´Ñ ......
update EMPLOYEE set BADGE=trim(BADGE); // ÕâÑù¿ÉÈ¥³ý×Ö·û´®Á½±ßµÄ¿Õ¸ñ
update EMPLOYEE set BADGE=replace(BADGE,' ',''); // ÕâÑùÄÜÈ¥³ýËùÓеĿոñ
SELECT replace(string,chr(13),'') from DUAL ----»»ÐÐ
SELECT replace(string,chr(10),'') from DUAL ---»Ø³µÊÇchr(10) ......
ÍøÉÏËѼ¯µÄ£¬ÕûÀíÏÂ
1¡¢substr(string string, int a, int b)
²ÎÊý1:string Òª´¦ÀíµÄ×Ö·û´®
²ÎÊý2£ºa ½ØÈ¡×Ö·û´®µÄ¿ªÊ¼Î»Öã¨ÆðʼλÖÃÊÇ0£©
²ÎÊý3£ºb ½ØÈ¡µÄ×Ö·û´®µÄ³¤¶È(¶ø²»ÊÇ×Ö·û´®µÄ½áÊøÎ»ÖÃ)
ÀýÈ磺
substr("ABCDEFG", 0); //·µ»Ø£ºABCDEFG£¬½ØÈ¡ËùÓÐ×Ö·û
substr("ABCDEFG", 2); //·µ»Ø£ºCDEFG£¬½ØÈ¡´ÓC¿ªÊ¼Ö®ºóËùÓÐ×Ö·û
substr("ABCDEFG", 1, 3); //·µ»Ø£ºABC£¬½ØÈ¡´ÓA¿ªÊ¼3¸ö×Ö·û £¬ÕâÀ↑ʼÊÇ1ºÍ3·µ»Ø¶¼ÊÇÒ»¸ö×Ö·û´®
substr("ABCDEFG", 1, 100); //·µ»Ø£ºABCDEFG£¬100ËäÈ»³¬³öÔ¤´¦ÀíµÄ×Ö·û´®×¶È£¬µ«²»»áÓ°Ïì·µ»Ø½á¹û£¬ÏµÍ³°´Ô¤´¦Àí×Ö·û´®×î´óÊýÁ¿·µ»Ø¡£
substr("ABCDEFG", 0, -3); //·µ»Ø£ºEFG£¬×¢Òâ²ÎÊý-3£¬Îª¸ºÖµÊ±±íʾ´Óβ²¿¿ªÊ¼ËãÆð£¬×Ö·û´®ÅÅÁÐλÖò»±ä¡£
2¡¢substr(string string, int a)
²ÎÊý1:string Òª´¦ÀíµÄ×Ö·û´®
²ÎÊý2£ºa ¿ÉÒÔÀí½âΪ´ÓË÷Òýa£¨×¢Ò⣺ÆðʼË÷ÒýÊÇ0£©´¦¿ªÊ¼½ØÈ¡×Ö·û´®£¬Ò²¿ÉÒÔÀí½âΪ´ÓµÚ £¨a+1£©¸ö×Ö·û¿ªÊ¼½ØÈ¡×Ö·û´®¡£
ÀýÈ磺
substr("ABCDEFG", 0); //·µ»Ø£ºABCDEFG, ½ØÈ¡ËùÓÐ×Ö·û
substr("ABCDEFG", 2); //·µ»Ø£ºCDEFG£¬½ØÈ¡´ÓC¿ªÊ¼Ö®ºóËùÓÐ×Ö·û
1.instr
ÔÚOracle/PLSQLÖУ¬instrº¯Êý·µ»ØÒª½ ......
1. È¡A±íµÄÊý¾Ý£¬¸üÐÂB±í×Ö¶Î
update m_build b
set b.district_id=(
select d.district_id
from
bjhouse.d_district d
where
b.build_name_jq=d.district_name)
where exists
(select 1
from
bjhouse.d_district d
where
b.build_name_jq=d.district_name)
......
×òÌì×öÁËÒ»¸öÊý¾Ý¿âµ¼³öµÄʵÑ飬Ö÷ÒªÓÃÀ´²âÊÔexpÃüÁîµÄЧÂÊ
´´½¨Ò»¸öÎļþ CalExpTime.bat£¬ÄÚÈÝÈçÏ£º
echo %time% >time.log
exp user/psw file=exp1.dmp
echo %time% >>time.log
echo %time% >>time.log
exp user/psw file=exp2.dmp direct=y
echo %time% >>time.log
Ë«»÷ÔËÐиÃÅú´¦ÀíÎļþ¡£
×îºóÉú³ÉµÄtime.logÎļþÄÚÈÝÈçÏ£º
22:24:12.82
23:12:12.20
23:12:12.23
23:34:12.12
¿É¼û
µÚÒ»·Ýµ¼³öÃüÁîexp user/psw file=exp1.dmp
ºÄʱΪ£º£¨23:12:12.20-22:24:12.82£©=Ô¼48minute
µÚÒ»·Ýµ¼³öÃüÁîexp user/psw file=exp2.dmp direct=y
ºÄʱΪ£º£¨23:34:12.12-23:12:12.23£©=Ô¼22minute
µçÄÔÅäÖãºCUP P7350 Ë«ºË2.0GHZ£»
ÄÚ´æ 2G
OS Windows XP SP3
Êý¾ÝÎļþ´óС£ºexp1.dmp:8725M
exp2.dmp 8775M
ÓÉ ......