06—PL/SQL±à³Ì
PL/SQL: OracleÖеÄSQL¹ý³Ì»¯±à³ÌÓïÑÔ
1. PL/SQL³ÌÐòÊÇÓÉ¿é½á¹¹¹¹³É£¬¸ñʽÈçÏ£º
[DECLARE
--ÉùÃ÷²¿·Ö
¡¡]
BEGIN
-- Ö÷Ìå
[EXCEPTION
-- Òì³£´¦Àí¿é
]
END;
/ --¿éµÄ½áÊø
2.±äÁ¿
¼òµ¥±äÁ¿£ºµ¥Öµ±äÁ¿
±äÁ¿Ãû ±äÁ¿ÀàÐÍ[:=³õʼֵ];
¸´ºÏ±äÁ¿£ºÏȶ¨Ò帴ºÏÀàÐÍ£¬È»ºóÔÙÓÃÀ´¸´ºÏ±äÁ¿;
±íÀàÐÍ: TYPE ÀàÐÍÃû IS TABLE OF Êý¾ÝÀàÐÍ INDEX BY BINARY_INTEGER;
±äÁ¿Ãû ±íÀàÐÍÃû;
¼Ç¼ÀàÐÍ£ºTYPE ÀàÐÍÃû IS RECORD(±äÁ¿Ãû ÀàÐÍ, ±äÁ¿Ãû ÀàÐÍ...);
ÉùÃ÷±äÁ¿µÄÀàÐÍÓëÖ¸¶¨±íµÄÖ¸¶¨ÁÐͬÀàÐÍ£º
±äÁ¿Ãû ±íÃû.ÁÐÃû%TYPE;
ÉùÃ÷¼Ç¼ÀàÐͱäÁ¿µÄÀàÐÍÓëÖ¸¶¨±íµÄÐÐͬÀàÐÍ£º
±äÁ¿Ãû ±íÃû%ROWTYPE;
3.Ìõ¼þÓï¾ä
IF Ìõ¼þ THEN Óï¾ä;
ELSIF Ìõ¼þ2 THEN Óï¾ä2;
ELSIF Ìõ¼þ2 THEN Óï¾ä2;
ELSE Óï¾än;
END IF;
4.Ñ»·Óï¾ä
1) ¼òµ¥£º
LOOP
Óï¾ä
EXIT WHEN Ìõ¼þ;
END LOOP;
2) WHILE:
WHILE Ìõ¼þ LOOP
Óï¾ä
END LOOP;
3) FOR
FOR Êý×Ö±äÁ¿ IN [REVERSE] ÏÂÏÞ..ÉÏÏÞ LOOP
Óï¾ä
END LOOP;
5. Óαêcursor£ºËüÊÇOracleÊý¾Ý¿âÄÚµÄÒ»¸ö¹¤×÷Çø£¬´æ·ÅÁËSELECTÓï¾äµÄ²éѯ¼¯¡£
1) ËüÓÐÒ»¸öÖ¸Õ룬³õʼʱָÏò²éѯ¼¯ÖеÄÊ×ÐС£
2) ÊôÐÔ£º%found¡¢%notfound¡¢%rowcount¡¢%isopen¡¢
3) ʹÓò½Ö裺
a) ÉùÃ÷±äÁ¿ÓÃÀ´±£´æÊý¾Ý¡£
b) ÉùÃ÷Óα꣬²¢Ö¸¶¨²éѯ¡£cursor v_emp_cursor is selectÓï¾ä;
c) ´ò¿ªÓαꡣopen v_emp_cursor;
d) Ò»´Î´ÓÓαêÖлñȡһÐмǼ¡£fetch v_emp_cursor into ±äÁ¿Áбí;
e) ¹Ø±ÕÓαꡣclose v_emp_cursor;
4) forÑ»·¿ÉÒÔ×Ô¶¯Íê³É´ò¿ª£¬»ñÈ¡Êý¾Ý£¬¹Ø±ÕµÄ¹¦ÄÜ¡£
declare
v_
Ïà¹ØÎĵµ£º
(1)char¡¢varchar¡¢textºÍnchar¡¢nvarchar¡¢ntext
charºÍvarcharµÄ³¤¶È¶¼ÔÚ1µ½8000Ö®¼ä£¬ËüÃǵÄÇø±ðÔÚÓÚcharÊǶ¨³¤×Ö·ûÊý¾Ý£¬¶øvarcharÊDZ䳤×Ö·ûÊý¾Ý¡£Ëùν¶¨³¤¾ÍÊdz¤¶È¹Ì¶¨µÄ£¬µ±ÊäÈëµÄÊý¾Ý³¤¶ÈûÓдﵽָ¶¨µÄ³¤¶Èʱ½«×Ô¶¯ÒÔÓ¢ÎĿոñÔÚÆäºóÃæÌî³ä£¬Ê¹³¤¶È´ïµ½ÏàÓ¦µÄ³¤¶È£»¶ø±ä³¤×Ö·ûÊý¾ÝÔò²»»áÒÔ¿Õ¸ñÌî³ä¡£text´æ´¢¿É±ä ......
1. select replace(CA_SPELL,' ','') from hy_city_area È¥³ýÁÐÖеÄËùÓпոñ
2. LTRIM£¨£© º¯Êý°Ñ×Ö·û´®Í·²¿µÄ¿Õ¸ñÈ¥µô
3. RTRIM£¨£© º¯Êý°Ñ×Ö·û´®Î²²¿µÄ¿Õ¸ñÈ¥µô
4. select LOWER(replace(CA_SPELL,' ','')) f ......
SQLÓï¾äÓï·¨
Ŀ¼
13.1. Êý¾Ý¶¨ÒåÓï¾ä
13.1.1. ALTER DATABASEÓï·¨
13.1.2. ALTER TABLEÓï·¨
13.1.3. CREATE DATABASEÓï·¨
13.1.4. CREATE INDEXÓï·¨
13.1.5. CREATE TABLEÓï·¨
13.1.6. DROP DATABASEÓï·¨
13.1.7. DROP INDEXÓï·¨
13.1.8. DROP TABLEÓï·¨
13.1.9. RENAME TABLEÓï·¨
13.2. Êý¾Ý²Ù×÷Óï¾ ......
using System;
using System.Text.RegularExpressions;
using Microsoft.SqlServer.Server;
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true,IsPrecise = true)]
public static bool RegExIsMatch(string pattern,string matchString)
{
......