Oracleѧϰ±Ê¼ÇÖ®´æ´¢¹ý³ÌÓ뺯Êý
PL/SQLÊǶÔOracleÊý¾Ý¿â½øÐвÙ×÷µÄÒ»ÖÖ¹ý³ÌÐÔ±à³ÌÓïÑÔ£¬Ëü¿ÉÒÔÔÚSQL * plusÖÐÖ´ÐУ¬Ò²¿ÉÒÔǶÈëµ½JAVA»òÕßC++ÖС£Æä»ù±¾×é³ÉΪ£º
DECLARE
...
BEGIN
...
EXCEPTION
...
END
¿ÉÓÃÀ´½«¶ÔÊý¾Ý¿âµÄ¸÷ÖÖ²Ù×÷·âװΪһ¸ö´úÂë¿é£¬ÎªÁ˼ÓÇ¿¿ÉÖØÓÃÐÔ£¬»¹¿É½«Öظ´ÐÔ´úÂëд³Éº¯ÊýÓë´æ´¢¹ý³Ì£¬ÓòÎÊý±íʾ±ä»¯µÄ²¿·Ö¡£
º¯ÊýÓë´æ´¢¹ý³ÌµÄÇø±ðÊÇ£¬º¯Êý·µ»ØÒ»¸öÖµ£¬¶ø´æ´¢¹ý³ÌûÓзµ»ØÖµ£¬²»¹ý´æ´¢¹ý³ÌÒ²¿Éͨ¹ýÖ¸¶¨²ÎÊýµÄIN|OUTÐÎʽÀ´´ïµ½½«´¦Àí½á¹û¶Á³öÀ´µÄÄ¿µÄ¡£
1.´æ´¢¹ý³Ì´´½¨Ê¾Àý£º
CREATE OR REPLACE PROCEDURE callme(p1 number,p2 varchar2,p3 varchar2) AS
BEGIN
INSERT INTO test values(p1,p2);
END callme;
2.´æ´¢¹ý³ÌʹÓÃʾÀý£º
DECLARE
val1 number:=16;
val2 varchar2(20):='¹ý³Ì²åÈëµÄв¿ÃÅ2';
val3 varchar2(12);
BEGIN
callme(val1,val2,val3);
END;
3.º¯Êý´´½¨Ê¾Àý£º
CREATE OR REPLACE FUNCTION CountRows(p1 number) RETURN NUMBER AS
v_number NUMBER;
BEGIN
SELECT count(*) INTO v_number from test WHERE id > p1;
RETURN v_number;
END;
4.º¯Êýµ÷ÓÃʾÀý£º
set serveroutput on /*Ö»ÓÐÉèÖÃÁËÕâÐУ¬²Å»áÏÔʾÊä³ö½á¹û*/
DECLARE
v_number NUMBER;
p_minid NUMBER;
BEGIN
p_minid:=0;
v_number:=CountRows(p_minid);
DBMS_OUTPUT.PUT_LINE('²¿ÃźŴóÓÚ'||p_minid||'µÄ²¿ÃÅÓÐ'||v_number||'¸ö');
END;
Ïà¹ØÎĵµ£º
½ñÌìÔÚ»úÆ÷ÉÏ×°Oracle 10g£¬°²×°Íê³ÉÒÔºó³öÏÖ´íÎóÌáʾ¡°ORA-00988: ¿ÚÁîȱʧ»òÎÞЧ¡±£¬È»ºó¾ÍÎÞ·¨½øÈë¿ØÖÆÌ¨½øÐÐÏàÓ¦µÄ²Ù×÷ºÍ¹ÜÀí£¬ÎÒÒÔǰÔÚ°²×°Oracle 9ʱ²¢Ã»ÓгöÏÖ¹ý
Õâ¸ö´íÎó¡£È»ºóÐ¶ÔØºóÖØÐ°²×°£¬ÎÊÌâÒÀ¾É£¬ÕÛÌÚÁ˺ôóÒ»ÕóÖÕÓÚŪÃ÷°×ÊÇÔõôһ»ØÊÂÁË¡£
ÕâÖÖÇé¿öͨ³£·¢ÉúÓÚ´´½¨ Oracle Àý³Ìʱָ¶¨ÁË·ÇÕý³£µÄÈ«¾ÖÊý¾Ý¿ ......
PRAGMA RESTRICT_REFERENCES()£¬Õâ¸öPRAGMA±È½Ï¸´ÔÓ£¬ ×ܵÄÀ´Ëµ£¬ËüÊÇÒ»¸ö³ÌÐò¸¨Öú¼ìÑéÂ룬¼ì²é×Ó³ÌÐòµÄ´¿¶È£¨PURITY£©£¬°ïÖú¼ìÑé×Ó³ÌÐòÊÇ·ñÓÐÎ¥·´¹æÔòµÄµØ·½¡£Ò»°ãÓÃÔÚº¯ÊýÉÏ£¬µ«µ±º¯Êýµ÷Óùý³Ìʱ£¬Ò²Òª×÷ÏàÓ¦µÄÉèÖüì²é¡£ÕâÊÇΪÁ˱ÜÃâµ±ÔÚDMLÓï¾äÉϵ÷Óú¯ÊýʱÕý³£Ö´Ðв»ÖÁÓÚ²úÉú´íÎó¡£
Óï·¨£¬PRAGMA ......
ת×Ô£ºhttp://wallimn.javaeye.com/blog/472182
¶ÔÓÚSPOOL
Êý¾ÝµÄSQL£¬×îºÃÒª×Ô¼º¶¨Òå¸ñʽ£¬ÒÔ·½±ã³ÌÐòÖ±½Óµ¼Èë,SQLÓï¾ä
È磺
select
taskindex||'|'||commonindex||'|'||tasktype||'|'||to_number(to_char(sysdate,'YYYYMMDD'))
from ssrv_sendsms_task;
spool
³£ÓõÄÉèÖÃ
set colsep' ';¡¡¡¡¡¡ //ÓòÊä³ö·Ö¸ô·û ......
ÔÎĵØÖ·£ºhttp://www.bokee.net/bloggermodule/blog_viewblog.do?id=465310
OracleµÄµ¼ÈëʵÓóÌÐò(Import utility)ÔÊÐí´ÓÊý¾Ý¿âÌáÈ¡Êý¾Ý£¬²¢ÇÒ½«Êý¾ÝдÈë²Ù×÷ϵͳÎļþ¡£impʹÓõĻù±¾¸ñʽ£ºimp[username[/password[@service]]]£¬ÒÔÏÂÀý¾Ùimp³£ÓÃÓ÷¨¡£
1. »ñÈ¡°ïÖú
imp help=y
2. µ¼ÈëÒ»¸öÍêÕûÊý¾Ý¿â
i ......
Oracle
ÖеÄÈÕÆÚÀàÐͼ°ÆäÏà¹ØµÄº¯Êý
Oracle
ÌṩÁ˺ܶàµÄÄÚÖõÄÈÕÆÚÀàÐÍ£¬°üÀ¨Èçϼ¸ÖÖ£º
Date
Timestamp
Timestamp With Time Zone
Timestamp With Local Time Zone
Interval Year To Month
Interval Day To Second
DateÀàÐÍÓÃÓÚ´æ´¢ÈÕÆÚ£¬¾«È·µ½Ã룬¿ÉÄÜͨ¹ýÉèÖÃNLS_DATE_FORMAT»òÕßTO_CHAR·½·¨À´¸ñʽ»¯ÈÕÆÚµÄÊ ......