PL/SQLÓû§Ö¸ÄÏÓë²Î¿¼ PL/SQLÓ¦ÓóÌÐòÐÔÄܵ÷ÓÅ£¨×ª£©
µÚÊ®¶þÕ PL/SQLÓ¦ÓóÌÐòÐÔÄܵ÷ÓÅ
1¡¢PL/SQLÐÔÄÜÎÊÌâµÄÔµÓÉ
Ó¦»ùÓÚPL/SQLµÄÓ¦ÓóÌÐòÊ©ÐÐЧÂʵÍÏÂʱ£¬Í¨³£ÊÇÒòΪ²»ºÃµÄSQL»°Óï¡¢±à³Ì²½Ö裬¶ÔPL/SQL»ù´¡ÕÆÎÕÔã¸â»òÊÇÂÒÓù²ÏíÄÚ´æ´¢Æ÷´Ù³ÉµÄ¡£
•PL/SQLÖв»ºÃµÄSQL»°Óï
PL/SQL±à³Ì¿´ÉÏÈ¥Ïà¶ÔÕսϼòµ¥£¬ÓÉÓÚËüÃǵĸ´ÔÓÄÚÈݶ¼ÑÚ²ØÔÚSQL»°ÓïÖУ¬SQL»°Óï¾³£·Öµ£´óÁ¿µÄ¹¤×÷¡£ÕâÄËÊÇΪºÎ²»ºÃµÄSQL»°ÓïÊÇÊ©ÐÐЧÂʵÍϵÄÖØÒªÔµ¹ÊÁË¡£ÈçÈôÒ»¸ö³ÌÐòÖаüÔкܶ಻ºÃµÄSQL»°ÓÄÇô£¬ÎÞÂÛÊÇPL/SQL»°ÓïдµÄÓÐºÎÆäÃÀ¶¼ÊÇÓÚÊÂÎÞ²¹µÄ¡£
ÈçÆäSQL»°Óï¼õµÍÁËÎÒÃǵijÌÐòËٶȵϰ£¬½«Òª°´µ×ÏÂÁбíÖеIJ½Öè·ÖÎöÒ»ÏÂ×ÓËüÃǵÄÖ´Ðмƻ®ºÍÐÔÄÜ£¬Æäºó´Óбà×ëSQL»°Óï¡£±ÈÈ磬²éѯÓÅ»¯Æ÷µÄ½Òʾ¾Í¿ÉÄÜ»áÅųýµôÎÊÌ⣬ÈçûÓбØÒªµÄÈ«±íɨÃè¡£
Ò».EXPLAIN PLAN»°Óï
¶þ.Ê©ÓÃTKPROFµÄSQL TraceЧÄÜ
Èý.Oracle TraceЧÄÜ
•Ôã¸âµÄ±à³ÌÏ°Æø
Õý³££¬Ôã¸âµÄ±à³ÌÏ°ÆøÒ²»á¸ø³ÌÐò´ø»Ø¸ºÃæÓ°Ïì¡£ÕâÖÖÇé¿öÏ£¬¼´Ê¹ÊÇÓÐÐĵõijÌÐòԱд³öµÄ´úÂëÒ²Ò²Ðí·Á°ÐÔÄÜ·¢»Ó¡£
ÖÁÓÚ¸ø¶¨µÄÒ»ÏîÈÎÎñ£¬ÎÞÂÛÊÇËùÑ¡µÄ³ÌÐòÓïÑÔÓкεÈÊʺϣ¬±à×ëÆ·ÖʽϲîµÄ×Ó³ÌÐò(±ÈÈ磬һ¸öºÜÂýµÄ·ÖÃűðÀà»ò¼ìË÷º¯Êý)»òÐí»ÙµôÕû¸öÐÔÄÜ¡£¼ÙÉèÓÐÒ»¸ö¼±Ðè±»Ó¦ÓóÌÐòƵ·±µ÷ÓõIJéѯº¯Êý£¬ÈçÆäÕâ¸öº¯Êý²»ÊÇÓ¦ÓùþÏ£»ò¶þ·Ö·¨£¬¶øÊÇÖ±½ÓÔËÓÃÏßÐÔ²éѰ£¬¾Í»á´ó´óÓ°ÏìЧÂÊ¡£Ôã¸âµÄ³ÌÐòÖ¸µÄÊÇÄÇЩ´øÓдÓδÓйýÔËÓùýµÄ±äÁ¿µÄ£¬´«ËÍûÓбØÒªµÄ²ÎÊýµÄ£¬°Ñ³õʼ»¯»ò¼ÆËã·Åµ½Óò»×ŵÄÑ»·ÖÐÊ©ÐеijÌÐòÖ®Àà¡£
•ÄÚÖú¯ÊýµÄ·´¸´
PL/SQLÌṩÁ˺öà¸ß¶ÈÓÅ»¯¹ýµÄº¯Êý£¬ÈçREPLACE¡¢TRANSLATE¡¢SUBSTR¡¢INSTR¡¢RPADºÍLTRIMµÈ¡£²»ÓÃÊÖ¹¤±à׫ÎÒÃÇ×Ô¸÷¶ùµÄ°æ±¾£¬ÓÉÓÚÄÚÖú¯ÊýÒѾÊǺܸßЧÂʵÄÁË¡£¼´»òÄÚÖú¯ÊýµÄЧÄÜÔ¶Ô¶³¬¹ýÎÒÃÇµÄØ½Ð裬Ҳ²»ÓÃÊÖ¹¤¶ÒÏÖËüÃÇЧÄܵÄ×Ó¼¯¡£
•µÍЧµÄÁ÷³ÌÍ³ÖÆ»°Óï
ÔÚ¼ÆËãÂß¼±í´ïʽֵµÄʱ·Ö£¬PL/SQLÔËÓöÌ·µÄ¼ÆËãģʽ¡£ÇÒ²»Ëµ£¬ÍòÒ»½á¹û¿ÉÒÔ±»È·¶¨ÏÂÀ´£¬PL/SQL¾Í»áÖÕÖ¹Óàϵıí´ïʽ¼ÆËã¡£±ÈÈ磬ϲ¿µÄOR±í´ïʽ£¬Ó¦sal±È1500СµÄʱ·Ö£¬²Ù×÷·û×ó±ßµÄÖµÄËÊÇTRUE£¬Ö®ËùÒÔPL/SQL¾Í²»»áÔÙ¼ÆËã²Ù×÷·ûÓÒ²à±í´ïʽµÄÖµ£º
IF (sal < 1500) OR (comm IS NULL) THEN
...
END IF;
ÏÖÏ£¬¿¼ÂÇϲ¿µÄAND±í´ïʽ£º
IF credit_ok(cust_id) AND (loan < 5000) THEN
...
END IF;
ÔÚÉÏÃæµÄº¯ÊýÖУ¬²¼¶ûº¯Êýcredit_okÀÏÊDZ»µ÷Óᣵ«ÊÇ£¬ÈçÆäÎÒÃÇÏòµ×ÏÂÕâôÍË»»Á½¸ö±í´ïʽµÄλÖãº
IF (loan < 5000) AND credit_ok(cust_id) THEN
...
E
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
Visual C#Öж¯Ì¬²Ù×÷SQL ServerÊý¾Ý¿â £¨1£©
·¢²¼Ê±¼ä£º2003.01.14 10:09 À´Ô´£ºÈüµÏÍø ×÷ÕߣºÍõ¿Ã÷
ÔÚ±àдÊý¾Ý¿âÓ¦ÓóÌÐòµÄʱºò£¬ÎÒÃÇ¿ÉÒÔͨ¹ýSQLÓï¾äÀ´¶¯Ì¬´´½¨¡¢ÐÞ¸ÄÊý¾Ý¿âÒÔ¼°ÆäÖеĶÔÏó¡£±¾ÎÄÎÒ¾ÍÏò´ó¼Ò½éÉÜÈçºÎÔËÓÃVisual C#À´¶¯Ì¬²Ù×÷SQL ServerÊý¾Ý¿ ......
showºÍsetÃüÁîÊÇÁ½ÌõÓÃÓÚά»¤SQL*Plusϵͳ±äÁ¿µÄÃüÁî
SQL> show all --²é¿´ËùÓÐ68¸öϵͳ±äÁ¿Öµ
SQL> show user --ÏÔʾµ±Ç°Á¬½ÓÓû§
SQL> show error¡¡¡¡ --ÏÔʾ´íÎó
SQL> set heading off --½ûÖ¹Êä³öÁбêÌ⣬ĬÈÏֵΪON
SQL> set feedback off --½ûÖ¹ÏÔʾ×îºóÒ»ÐеļÆÊý·´À¡ÐÅÏ¢£¬Ä¬ÈÏֵΪ"¶Ô6¸ö» ......
¡¡¡¡±¾ÎÄʾÀýÔ´´úÂë»òËØ²ÄÏÂÔØ
¡¡¡¡±¾½ÚµÄÄÚÈÝ£º
¡¡¡¡ÈçºÎÔÚInfoPathÖÐʹÓÃÊý¾ÝÁ¬½ÓÀ´´ÓSQL ServerÊý¾Ý¿âÖлñÈ¡Êý¾Ý
¡¡¡¡ÈçºÎͨ¹ý´úÂëÀ´ÐÞ¸ÄÊý¾ÝÁ¬½ÓÖеÄSQL²éѯ
¡¡¡¡ÔÚ¿ªÊ¼Éè¼ÆInfoPath±íµ¥Ö®Ç°£¬ÏÈ×¼±¸Ò»¸öÊý¾Ý¿â£¬InfoPathÖ§³ÖÁ½ÖÖÊý¾Ý¿âÁ¬½Ó£º
¡¡¡¡Microsoft Office AccessÊý¾Ý¿â£¨.mdbÎļþ»ò.accdbÎļþ£©
¡¡¡ ......
×î½üÓÐÅóÓÑÓöµ½Ê¡ÊеÄÎÊÌ⣬ÏëÏë×Ô¼º½ñºóÒ²ÓпÉÄÜ»áÓöµ½£¬ËùÒÔ¾Í×Ô¼ºÔÚÍøÉÏдд£¬ËÑËÑ£¬Ö÷ÒªÊǶÔ×Ô¼º½ñºóÓвο¼
--´´½¨Êý¾Ý¿â
create database NationalAll
Go
--ʹÓÃNationalAllÊý¾Ý¿â
use NationalAll
Go
--´´½¨Ê¡¼¶±í
Create Table Province
(
ProID int primary key not null,
ProName nvarchar(50) n ......