Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ORACLE ¶¯Ì¬Óï¾ä

 ÔÚÒ»°ãµÄPL/SQL³ÌÐò¿ª·¢ÖУ¬¿ÉÒÔʹÓÃSQLµÄDMLÓï¾äºÍÊÂÎñ¿ØÖÆÓï¾ä£¬µ«ÊÇDDLÓï¾ä¼°»á»°Óï¾äÈ´²»ÄÜÔÚPL/SQLÖÐÖ±½ÓʹÓã¬ÒªÏëʵÏÖÔÚPL/SQLÖÐʹÓÃDDLÓï¾ä¼°»á»°¿ØÖÆÓï¾ä£¬¿ÉÒÔͨ¹ý¶¯Ì¬SQLÀ´ÊµÏÖ¡£
       Ëùν¶¯Ì¬SQLÊÇÖ¸ÔÚPL/SQL¿é±àÒëʱSQLÓï¾äÊDz»È·¶¨µÄ£¬ÀýÈç¸ù¾ÝÓû§ÊäÈë²ÎÊýµÄ²»Í¬¶øÖ´Ðв»Í¬µÄ²Ù×÷¡£±àÒë³ÌÐò¶Ô¶¯Ì¬Óï¾ä²¿·Ö²»½øÐд¦Àí£¬Ö»ÊÇÔÚ³ÌÐòÔËÐÐʱ¶¯Ì¬µØ´´½¨Óï¾ä£¬¶ÔÓï¾ä½øÐÐÓï·¨·ÖÎö²¢Ö´ÐиÃÓï¾ä¡£ ORACLEÖеĶ¯Ì¬SQL¿ÉÒÔͨ¹ý±¾µØ¶¯Ì¬SQLÃüÁîÀ´Ö´ÐУ¬Ò²¿ÉÒÔͨ¹ýDBMS_SQL³ÌÐò°üÀ´Ö´ÐС£
       ͨ³£ÔÚ¿ª·¢ÖÐÓüòµ¥µÄ±¾µØ¶¯Ì¬SQL¾ÍÄܽâ¾öÎÊÌ⣬ÔÚÏÂÃæÎÒ»áÓñðµÄ·½·¨À´ÊµÏÖ¡£¸ø³öÖ´Ðб¾µØ¶¯Ì¬SQLµÄÓï·¨£º
 EXECUTE IMMEDIATE dynamic_sql_string [INTO define_variable_list] [USING bind_argument_list];
ÆäÖУº dynamic_sql_string ÊǶ¯Ì¬SQLÓï¾ä×Ö·û´® INTO×Ó¾äÓÃÓÚ½ÓÊÜSELECTÓï¾äÑ¡ÔñµÄ¼Í¼ֵ¡£ USING×Ó¾äÓÃÓÚ½ÓÊÜ°ó¶¨ÊäÈë²ÎÊý±äÁ¿¡£
Àý×Ó1:
DECLARE
       sql_s varchar2(200);
       emp_id number(4):=7566; 
       emp_rec emp%rowtype;
BEGIN
       EXECUTE  IMMEDIATE  'create  table  table_name (id number,amt  number)';  
       sql_s:='select * from emp where empno=:id;
       EXECUTE  IMMEDIATE  sql_s into  emp_rec  using  emp_id;
END;
       Õâ¶Î´úÂëÊ×ÏÈÖ´ÐÐÒ»Ìõ´´½¨µÄ¶¯Ì¬SQL,½Ó×ÅÖ´ÐÐÁË´ø²ÎÊýµÄSELECTÓï¾ä¡£EXECUTE IMMEDIATEÓï¾äÖ»ÄÜÓÃÓÚ´¦Àí·µ»Øµ¥ÐлòûÓзµ»ØµÄSQLÓï¾ä£¬Òª´¦Àí·µ»Ø¶àÐеĶ¯Ì¬SQL¾ÍҪʹÓÃREFÓαêµÄOPEN...FORÓï¾ä¡£ÏÂÃæ¾ÍÀ´ÌÖÂÛ£º
Àý2£º
       ÒªÇó£ºÓû§ÊäÈë¶à¸öÅú´ÎºÅ(lot_number)ºÍÎïÁϺÅ(key_number )»ò¶à¸öÅú´ÎºÅ(lot_number)ºÍ¹©Ó¦ÉÌÃû(ver_apell)À´Çó¿â´æÖÐÎïÁϵÄÊýĿΪÁËÈôúÂë½á¹¹ÇåÎú£¬ÎÒʹÓðüÀ´´´½¨´úÂ룺
Ê×ÏÈ£¬´´½¨°üÍ·²¿·Ö£º
create  or  replace  package  SMT_Traceability_p    is
   &n


Ïà¹ØÎĵµ£º

Oracle PL/SQL¿é½á¹¹ºÍ×é³ÉÔªËØѧϰ±Ê¼Ç(Ò»)

Ò»£¬PL/SQL¿éµÄ½á¹¹ºÍ×é³ÉÔªËØ
PL/SQL³ÌÐòÓÉÉùÃ÷²¿·Ö£¬Ö´Ðв¿·Ö£¬Òì³£´¦Àí²¿·ÖÈý¸ö²¿·Ö×é³É¡£½á¹¹ÈçÏ£º
DECLARE
/*ÉùÃ÷²¿·Ö£ºÔÚ´ËÉùÃ÷PL/SQL±äÁ¿£¬ÀàÐͼ°Óα꣬ÒÔ¼°¾Ö²¿µÄ´æ´¢¹ý³ÌºÍº¯Êý*/
BEGIN
/*Ö´Ðв¿·Ö£º¹ý³Ì¼°sqlÓï¾ä£¬³ÌÐòÖ÷Òª²¿·Ö£¬ÊDZØÐëµÄ*/
EXCEPTION
/*Òì³£´¦Àí²¿·Ö£º´íÎó´¦Àí*/
END
 
PL/SQL¿ ......

ORACLE PL/SQL°ü(package)ѧϰ±Ê¼Ç

°üÓÉ°ü¹æ·¶ºÍ°üÌåÁ½²¿·Ö×é³É¡£
 
1¡¢°ü¹æ·¶£¨Package Specification£©
°ü¹æ·¶£¬Ò²½Ð×ö°üÍ·£¬°üº¬ÁËÓйذüµÄÄÚÈݵÄÐÅÏ¢¡£µ«ÊÇ£¬Ëü²»°üº¬Èκιý³ÌµÄ´úÂë¡£
´´½¨°üÍ·µÄÓï·¨Ò»°ãÈçÏÂ
 
CREATE [OR REPLACE] PACKAGE package_name {IS | AS}
Procedure_name | function_name | variable_declaration | type_def ......

ORACLE PL/SQL ´¥·¢Æ÷(trigger)ѧϰ±Ê¼Ç

1¡¢´¥·¢Æ÷µÄ¸ÅÄî
´¥·¢Æ÷Ò²ÊÇÒ»ÖÖ´øÃûµÄPL/SQL¿é¡£´¥·¢Æ÷ÀàËÆÓÚ¹ý³ÌºÍº¯Êý£¬ÒòΪËüÃǶ¼ÊÇÓµÓÐÉùÃ÷¡¢Ö´ÐкÍÒì³£´¦Àí¹ý³ÌµÄ´øÃûPL/SQL¿é¡£Óë°üÀàËÆ£¬´¥·¢Æ÷±ØÐë´æ´¢ÔÚÊý¾Ý¿âÖв¢ÇÒ²»Äܱ»¿é½øÐб¾µØ»¯ÉùÃ÷¡£
¶ÔÓÚ´¥·¢Æ÷¶øÑÔ£¬µ±´¥·¢Ê¼þ·¢ÉúµÄʱºò¾Í»áÏÔʽµØÖ´Ðиô¥·¢Æ÷£¬²¢ÇÒ´¥·¢Æ÷²»½ÓÊܲÎÊý¡£
 
´´½¨´¥·¢Æ÷µÄÓï·¨È ......

Oracle·ÖÒ³²éѯÓï¾ä£¨Ò»£©

OracleµÄ·ÖÒ³²éѯÓï¾ä»ù±¾ÉÏ¿ÉÒÔ°´ÕÕ±¾Îĸø³öµÄ¸ñʽÀ´½øÐÐÌ×Óá£
 
·ÖÒ³²éѯ¸ñʽ£º
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
ÆäÖÐ×îÄÚ²ãµÄ²éѯSELECT * from TABLE_NAME±íʾ²»½øÐз­Ò³µÄԭʼ²éѯÓï¾ä¡£ROWNUM <= 40ºÍRN ......

oracleÓû§È¨ÏÞ¼°½ÇÉ«

ÿ¸öOracleÓû§¶¼ÓÐÒ»¸öÃû×ֺͿÚÁî,²¢ÓµÓÐһЩÓÉÆä´´½¨µÄ±í¡¢ÊÓͼºÍÆäËû×ÊÔ´¡£Oracle½ÇÉ«£¨role£©¾ÍÊÇÒ»×éȨÏÞ£¨privilege£©(»òÕßÊÇÿ¸öÓû§¸ù¾ÝÆä״̬ºÍÌõ¼þËùÐèµÄ·ÃÎÊÀàÐÍ)¡£Óû§¿ÉÒÔ¸ø½ÇÉ«ÊÚÓè»ò¸³ÓèÖ¸¶¨µÄȨÏÞ£¬È»ºó½«½ÇÉ«¸³¸øÏàÓ¦µÄÓû§¡£Ò»¸öÓû§Ò²¿ÉÒÔÖ±½Ó¸øÆäËûÓû§ÊÚȨ¡£
Êý¾Ý¿âϵͳȨÏÞ£¨Database System Privil ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ