Oracle PL/SQLÓïÑÔÈëÃÅ
Ò»¡¢±³¾°½éÉÜ
¡¡¡¡
¡¡¡¡½á¹¹»¯²éѯÓïÑÔ(Structured Query Language£¬¼ò³ÆSQL)ÊÇÓÃÀ´·ÃÎʹØÏµÐÍÊý¾Ý¿âÒ»ÖÖͨÓÃÓïÑÔ£¬ÊôÓÚµÚËÄ´úÓïÑÔ£¨4GL£©£¬ÆäÖ´ÐÐÌØµãÊǷǹý³Ì»¯£¬¼´²»ÓÃÖ¸Ã÷Ö´ÐеľßÌå·½·¨ºÍ;¾¶£¬¶øÊǼòµ¥µØµ÷ÓÃÏàÓ¦Óï¾äÀ´Ö±½ÓÈ¡µÃ½á¹û¼´¿É¡£ÏÔÈ»£¬ÕâÖÖ²»¹Ø×¢ÈκÎʵÏÖϸ½ÚµÄÓïÑÔ¶ÔÓÚ¿ª·¢ÕßÀ´ËµÓÐ׿«´óµÄ±ãÀû¡£È»¶ø£¬ÓÐЩ¸´ÔÓµÄÒµÎñÁ÷³ÌÒªÇóÏàÓ¦µÄ³ÌÐòÀ´ÃèÊö£¬ÕâÖÖÇé¿öÏÂ4GL¾ÍÓÐЩÎÞÄÜΪÁ¦ÁË¡£PL/SQLµÄ³öÏÖÕýÊÇΪÁ˽â¾öÕâÒ»ÎÊÌ⣬PL/SQLÊÇÒ»ÖÖ¹ý³Ì»¯ÓïÑÔ£¬ÊôÓÚµÚÈý´úÓïÑÔ£¬ËüÓëC¡¢C++¡¢JavaµÈÓïÑÔÒ»Ñù¹Ø×¢ÓÚ´¦Àíϸ½Ú£¬¿ÉÒÔÓÃÀ´ÊµÏֱȽϸ´ÔÓµÄÒµÎñÂß¼¡£±¾ÎÄÖ÷Òª½éÉÜPL/SQLµÄ±à³Ì»ù´¡£¬ÒÔʹÈëÃÅÕß¶ÔPL/SQLÓïÑÔÓÐÒ»¸ö×ÜÌåÈÏʶºÍ»ù±¾°ÑÎÕ¡£
¡¡¡¡
¡¡¡¡¶þ¡¢±à³Ì»ù´¡ÖªÊ¶
¡¡¡¡
¡¡¡¡1. ³ÌÐò½á¹¹
¡¡¡¡
¡¡¡¡PL/SQL³ÌÐò¶¼ÊÇÒԿ飨block£©Îª»ù±¾µ¥Î»£¬Õû¸öPL/SQL¿é·ÖÈý²¿·Ö£ºÉùÃ÷²¿·Ö£¨ÓÃdeclare¿ªÍ·£©¡¢Ö´Ðв¿·Ö£¨ÒÔbegin¿ªÍ·£©ºÍÒì³£´¦Àí²¿·Ö£¨ÒÔexception¿ªÍ·£©¡£ÆäÖÐÖ´Ðв¿·ÖÊDZØÐëµÄ£¬ÆäËûÁ½¸ö²¿·Ö¿ÉÑ¡¡£ÎÞÂÛPL/SQL³ÌÐò¶ÎµÄ´úÂëÁ¿Óжà´ó£¬Æä»ù±¾½á¹¹¾ÍÊÇÓÉÕâÈý²¿·Ö×é³É¡£ÈçÏÂËùʾΪһ¶ÎÍêÕûµÄPL/SQL¿é£º
¡¡¡¡
¡¡¡¡/*ÉùÃ÷²¿·Ö£¬ÒÔdeclare¿ªÍ·*/
¡¡¡¡declare v_id integer;
¡¡¡¡v_name varchar(20);
¡¡¡¡cursor c_emp is select * from employee where emp_id=3;
¡¡¡¡/*Ö´Ðв¿·Ö£¬ÒÔbegin¿ªÍ·*/
¡¡¡¡begin ¡¡open c_emp;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´ò¿ªÓαê
¡¡¡¡loop
¡¡¡¡fetch c_emp into v_id,v_name;¡¡¡¡¡¡¡¡//´ÓÓαêÈ¡Êý¾Ý
¡¡¡¡exit when c_emp%notfound ;
¡¡¡¡end loop ;
¡¡¡¡close c_emp;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¹Ø±ÕÓαê
¡¡¡¡dbms_output.PUT_LINE(v_name);
¡¡¡¡/*Òì³£´¦Àí²¿·Ö£¬ÒÔexception¿ªÊ¼*/
¡¡¡¡exception
¡¡¡¡when no_data_found then
¡¡¡¡dbms_output.PUT_LINE('ûÓÐÊý¾Ý');
¡¡¡¡end ;
¡¡¡¡
¡¡¡¡2. ¿ØÖƽṹ
¡¡¡¡
¡¡¡¡PL/SQL³ÌÐò¶ÎÖÐÓÐÈýÖÖ³ÌÐò½á¹¹£ºÌõ¼þ½á¹¹¡¢Ñ»·½á¹¹ºÍ˳Ðò½á¹¹¡£
¡¡¡¡
¡¡¡¡1) Ìõ¼þ½á¹¹
¡¡¡¡
¡¡¡¡ÓëÆäËüÓïÑÔÍêÈ«ÀàËÆ£¬Óï·¨½á¹¹ÈçÏ£º
¡¡¡¡
¡¡¡¡if condition then
¡¡¡¡statement1
¡¡¡¡else
¡¡¡¡statement2
¡¡¡¡end if ;
¡¡¡¡
¡¡¡¡2) Ñ»·½á¹¹
¡¡¡¡
¡¡¡¡ÕâÒ»½á¹¹ÓëÆäËûÓïÑÔ²»Ì«Ò»Ñù£¬ÔÚPL/SQL³ÌÐòÖÐÓÐÈýÖÖÑ»·½á¹¹£º
¡¡¡¡
¡¡¡¡a. loop … end loop;
¡¡¡¡b. while condition loop … end loop;
¡¡¡¡c. for variable in low_bound . . upper_bou
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
ѧϰOracle DBAÒ²°ë¸ö¶àѧÆÚÁË£¬½ñÌìÃÍÈ»²Å·¢ÏÖ£¬ÔÀ´ÎÒµÄÊ黹ÊǺÜеģ¬ÉϿβÙ×÷ʱºòÒ²Ö»ÊÇÖªµÀ´ó¸ÅÔõô×ö£¬µ«ÊÇÒªÕæµÄÈ«²¿×Ô¼º×ö£¬¶ø²»È¥·Ê黹ÊÇÓÐÒ»¶¨µÄÄѶȵģ¬ËùÒÔÄØ£¬½ñÌ쿪ʼ½«DBA´ÓÍ·¸´Ï°Ò»±é£¬Í¬Ê±ÔÙ²Ù×÷Ò»±é¡£
µÚÒ»Õ£¬Ñ§µÄÊÇOracleµÄÌåϵ½á¹¹£ ......
ORACLEÖÐLikeÓëInstrÐÔÄÜ´ó±ÈÆ´
×÷Õߣºµ¤³¼ | ¡¾×ªÔØÊ±ÇëÎñ±ØÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕÂÔʼ³ö´¦ºÍ×÷ÕßÐÅÏ¢¼°±¾ÉùÃ÷¡¿
µØÖ·£ºhttp://rdc.taobao.com/blog/dba/html/246_like_instr_performance.html
t±íÖн«½üÓÐ1100ÍòÊý¾Ý£¬ºÜ¶àʱºò£¬ÎÒÃÇÒª½øÐÐ×Ö·û´®Æ¥Å䣬ÔÚSQLÓï¾äÖУ¬ÎÒÃÇͨ³£Ê¹ÓÃlikeÀ´´ïµ½ÎÒÃÇËÑË÷µÄÄ¿±ê¡£µ«¾¹ýʵ¼Ê ......
1.Êý¾Ý¿â¹ÜÀíÏà¹Ø
¡¡¡¡bbed.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Êý¾Ý¿éä¯ÀÀºÍ±à¼¹¤¾ß
¡¡¡¡dbv.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Êý¾ÝÎļþÂß¼¼ì²â¹¤¾ß
¡¡¡¡exp.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Êý¾Ýµ¼³ö¹¤¾ß
¡¡¡¡imp.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Êý¾Ýµ¼È빤¾ß
¡¡¡¡mig.exe¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Êý¾Ý¿âÒÆÖ²¹¤¾ß
¡¡¡¡nmumigrate.exe¡¡¡¡¡¡¡¡ Da ......