Oracle PL/SQL±à³Ì¹æ·¶Ö¸ÄÏ
Ò»¡¢PL/SQL±à³Ì¹æ·¶Ö®´óСд
¾ÍÏñÔÚSQLÖÐÒ»Ñù£¬PL / SQLÖÐÊDz»Çø·Ö´óСдµÄ¡£ÆäÒ»°ã×¼ÔòÈçÏ£º
¹Ø¼ü×Ö(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)¡¢Êý¾ÝÀàÐÍ(VARCHAR2, NUMBER)¡¢ÄÚ²¿º¯Êý(LEAST, SUBSTR)ºÍÓû§¶¨ÒåµÄ×Ó³ÌÐò(procedures, functions,packages)£¬Ê¹Óôóд¡£
±äÁ¿ÃûÒÔ¼°SQLÖеÄÁÐÃûºÍ±íÃû£¬Ê¹ÓÃСд¡£
¶þ¡¢PL/SQL±à³Ì¹æ·¶Ö®¿Õ°×
¿Õ°×£¨¿ÕÐкͿոñ£©ÔÚPL/SQLÖÐÈçͬÔÚSQLÖÐÒ»ÑùÖØÒª£¬ÒòΪËüÊÇÌá¸ß´úÂë¿É¶ÁÐÔµÄÒ»¸öÖØÒªÒòËØ¡£»»¾ä»°Ëµ£¬¿ÉÒÔͨ¹ýÔÚ´úÂëÖÐʹÓÃËõ½øÀ´ÌåÏÖ³ÌÐòµÄÂß¼½á¹¹¡£ÒÔÏÂÊÇһЩ½¨Ò飺
ÔڵȺŻò±È½Ï²Ù×÷·ûµÄ×óÓÒ¸÷ÁôÒ»¸ö¿Õ¸ñ£»
½á¹¹´Ê£¨DECLARE, BEGIN, EXCEPTION, END,IF and END IF, LOOP and END LOOP£©¾Ó×óÅÅÁС£ÁíÍ⣬½á¹¹ÖеÄǶÌ׽ṹҪËõ½øÈý¸ö¿Õ¸ñ£¨Ê¹Óÿոñ¼ü£¬¶ø²»ÊÇTab¼ü£©£»
Ö÷Òª´úÂë¶ÎÖ®¼äÓÿÕÐиô¿ª£»
°Ñͬһ½á¹¹µÄ²»Í¬Âß¼²¿·Ö·Ö¿ªÐ´ÔÚ¶ÀÁ¢µÄÐУ¬¼´Ê¹Õâ¸ö½á¹¹ºÜ¶Ì¡£ÀýÈ磬IFºÍTHEN±»·ÅÔÚͬһÐУ¬¶øELSE ºÍEND IFÔò·ÅÔÚ¶ÀÁ¢µÄÐС£
Èý¡¢PL/SQL±à³Ì¹æ·¶Ö®ÃüÃûÔ¼¶¨
ʹÓÃÒÔÏÂǰ׺¶ÔÓÚ±ÜÃâÓë¹Ø¼ü×ֺͱíÃûÁÐÃûÏà³åÍ»ÊǺÜÓаïÖúµÄ£º
v_±äÁ¿Ãû
con_³£Á¿Ãû
i_ÊäÈë²ÎÊýÃû£¬o_Êä³ö²ÎÊýÃû£¬io_ÊäÈëÊä³ö²ÎÊýÃû
c_ÓαêÃû »òÕß ÓαêÃû_cur
rc_ Ref CursorÃû
r_RecordÃû »òÕß RecordÃû_rec
FOR r_stud IN c_stud LOOP…
FOR stud_rec IN stud_cur LOOP
type_Ãû³Æ£¬Ãû³Æ_type (Óû§¶¨ÒåµÄÀàÐÍ)
t_±íÃû£¬±íÃû_tab £¨PL/SQL ±í£©
rec_RecordÃû£¬RecordÃû_rec £¨Record±äÁ¿£©
e_Òì³£Ãû £¨Óû§¶¨ÒåµÄÒì³££©
°üµÄÃû³ÆÓ¦¸ÃÃèÊö°üÄڵĴ洢¹ý³ÌºÍº¯ÊýÖ÷ÒªËùÍê³ÉµÄ¹¦ÄÜ
´æ´¢¹ý³ÌµÄÃû³ÆÓ¦¸ÃÃèÊö¸Ã´æ´¢¹ý³ÌËùÖ´Ðе͝×÷
º¯ÊýµÄÃû³ÆÓ¦¸ÃÃèÊöËù·µ»ØµÄ±äÁ¿
ÀýÈ磺
PACKAGE student_admin
– admin ºó׺¿ÉÄÜÊÇÓÃÓÚ±íʾ¹ÜÀí¹¦ÄÜ.
PROCEDURE remove_student (i_student_id IN student.studid%TYPE);
FUNCTION student_enroll_count (i_student_id student.studid%TYPE)
RETURN INTEGER;
ËÄ¡¢PL/SQL±à³Ì¹æ·¶Ö®×¢ÊÍ
PL/SQLÖеÄ×¢ÊÍÈçͬSQLÖеÄ×¢ÊÍÒ»ÑùÖØÒª¡£ËûÃÇÓ¦¸Ã½âÊͳÌÐòµÄÖ÷Òª²¿·ÖºÍËùÓйؼüµÄÂß¼²½Öè¡£
ʹÓõ¥ÐÐ×¢ÊÍ(–)¶ø²»ÊǶàÐÐ×¢ÊÍ(/*)¡£¼´Ê¹PL/SQL¶ÔÕâЩעÊÍ×öͬÑù´¦Àí£¬ÕâÑùÔÚ´úÂëÍê³Éºó½øÐе÷ÊÔÒ²»áÈÝÒ×Щ£¬ÒòΪÄã²»ÄÜÔÚ¶àÐÐ×¢ÊÍÖÐǶÈë¶àÐÐ×¢ÊÍ¡£»»¾ä»°Ëµ£¬µ¥ÐÐ×¢ÊÍ´úÂëÖпÉÒÔ²¿·ÖÈ¡Ïû×¢ÊÍ£¬¶øÔÚ¶àÐÐ×¢ÊÍ´úÂëÖÐÔò²»ÐС£
Îå¡¢ÆäËûµÄ½¨Òé
¶ÔÓÚPL/SQLÖÐǶÈëµÄSQLÉùÃ÷
Ïà¹ØÎĵµ£º
Ò»¡¢Á¬½Ó¹æÔò£¬Ò»ÇвÙ×÷µÄǰÌá¡£ µÍ°æ±¾¿Í»§¶ËÄܹ»Á¬½Óµ½Í¬Ñù°æ±¾»òÕ߸ü¸ß°æ±¾µÄ·þÎñÆ÷ÉϽøÐÐimpºÍexp²Ù×÷¡£ ¸ß°æ±¾¿Í»§¶Ë²»ÄÜÁ¬½Óµ½µÍ°æ±¾µÄ·þÎñÆ÷ÉϽøÐÐimp»òÕßemp²Ù×÷¡£ ¶þ¡¢»ìºÏʹÓùæÔò£¬Ç°ÌáÊÇÒªÂú×ãÁ¬½Ó¹æÔò¡£ µÍ°æ±¾exp³öµÄdmpÎļþ£¬Óø߰汾Äܹ»imp½øÈ¥¡£ ¸ß°æ±¾exp³öµÄdmpÎļþ£¬µÍ°æ±¾µÄimp¹¤¾ß² ......
1.
select top m * from tablename where id not in (select top n id from tablename)
2.
select top & ......
1¡¢°´Ê±¼äÅÅÐò
select * from tbl_lms_loginhistory order by loginhistory_logintime desc
2¡¢
ÔÚÒ»¸öÊý¾Ý¿âÖÐÊÇÏÂÁеÄÑù×Ó
³µ´Î Éí·ÝÖ¤ºÅ
27 1
27 2
45 1
25 1
45 2
ÏÖÔÚÎÒÏë »ñµÃµÄÊÇ
³µ´Î ³Ë×ø´ÎÊý
25 1
27 3
45 2
ÇëÎÊ£¬ÎÒµÄSQLÓï¾ä¸ÃÔõôд£¿
select ³µ´ ......
select f.tablespace_name,a.total,u.used,f.free,round((u.used/a.total)*100) "% used", round((f.free/a.total)*100) "% Free"
from
(select tablespace_name, sum(bytes/(1024*1024)) total
from dba_data_files group by tablespace_name) a,
(select tabl ......
BACKUP DATABASENAME WITH NO_LOGÒ»Ö±ÊÇÎҽضÏÊÂÎñÈÕÖ¾£¬Ñ¹Ëõ¿Õ¼äµÄÀûÆ÷£¬½ñÌìÔÙSQL2008ÉÏÒ»Óã¬È´²»ÁéÁË
ÏûÏ¢ 3032£¬¼¶±ð 16£¬×´Ì¬ 2£¬µÚ 2 ÐÐ
´ËÓï¾ä²»Ö§³ÖÒ»¸ö»ò¶à¸öÑ¡Ïî(no_log)¡£Çë²éÔÄÎĵµÒÔÁ˽âËùÖ§³ÖµÄÑ¡Ïî¡£
²é¿´Áª»ú°ïÖúÊֲᣬÀïÃæÈ·ÊµÃ»ÓÐwith no_logµÄ¿ÉÑ¡ÏîÁË£¬ÄÇÔõô°ì°¡£¬50MµÄÊý¾ÝÎļþ£¬2GµÄÈÕÖ¾Îļþ£¬È ......