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;
Ïà¹ØÎĵµ£º
ÓÐÁ½ÖÖº¬ÒåµÄ±í´óС¡£Ò»ÖÖÊÇ·ÖÅä¸øÒ»¸ö±íµÄÎïÀí¿Õ¼äÊýÁ¿£¬¶ø²»¹Ü¿Õ¼äÊÇ·ñ±»Ê¹Ó᣿ÉÒÔÕâÑù²éѯ»ñµÃ×Ö½ÚÊý£º
select segment_name, bytes
from user_segments
where segment_type = 'TABLE';
»òÕß
Select Segment_Name,Sum(bytes)/1024/1024 from User_Extents Group By Segment_Name
ÁíÒ»ÖÖ±íʵ¼ÊÊ¹Ó ......
BLOBµÄº¬Òå¡¡¡¡
BLOB (binary large object)£¬¶þ½øÖÆ´ó¶ÔÏó£¬ÊÇÒ»¸ö¿ÉÒÔ´æ´¢¶þ½øÖÆÎļþµÄÈÝÆ÷¡£
¡¡¡¡ÔÚ¼ÆËã»úÖУ¬BLOB³£³£ÊÇÊý¾Ý¿âÖÐÓÃÀ´´æ´¢¶þ½øÖÆÎļþµÄ×Ö¶ÎÀàÐÍ¡£
¡¡¡¡BLOBÊÇÒ»¸ö´óÎļþ£¬µäÐ͵ÄBLOBÊÇÒ»ÕÅͼƬ»òÒ»¸öÉùÒôÎļþ£¬ÓÉÓÚËüÃǵijߴ磬±ØÐëʹÓÃÌØÊâµÄ·½Ê½À´´¦Àí£¨ÀýÈ磺ÉÏ´«¡ ......
Ò»£ºÎÞ·µ»ØÖµµÄ´æ´¢¹ý³Ì
´æ´¢¹ý³ÌΪ£º
create or replace procedure adddept(deptno number,dname varchar2,loc varchar2)
as
begin
insert into dept values(deptno,dname,loc);
end;
È»ºóÄØ£¬ÔÚjavaÀïµ÷ÓÃʱ¾ÍÓÃÏÂÃæµÄ´úÂ룺
public class TestProcedure {
Connectio ......
ÔÚ×öÓ¦ÓÃϵͳ¿ª·¢Ê±£¬ÎÒÃÇ»áÓöµ½Ò»¸öÎÊÌ⣬¾ÍÊÇÎÒÃÇÓ¦ÓÃϵͳÓÐЩÊý¾ÝÐèÒª´ÓÆäËûÊý¾Ý¿âµÄijһÕűíÄõ½Êý¾Ý£¬ÄÇÎÒÃÇÓ¦¸ÃÔõô°ì£¿±ÈÈ磺×Ó¹«Ë¾µÄÏúÊÛϵͳÐèÒª´Ó¹ãÖÝ×ܲ¿ÈËÁ¦×ÊÔ´¹ÜÀíϵͳµÄÊý¾Ý¿âµ±ÖлñÈ¡×îеÄÓû§ÐÅÏ¢£¬ÄÇÎÒÃÇÓ¦¸ÃÔõôʵÏÖ£¿ÊµÏÖÏÖÔÚµÄ×ö·¨Óкܶ࣬¿ÉÒÔͨ¹ýWebService·½Ê½»ñÈ¡£¬µ«¿ª·¢³É±¾»¹ÊDZȽϸߣ¬¼ÙÉè ......
dc-test2<oracle>sqlplus /nolog
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Feb 25 22:44:25 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
SQL> conn / as sysdba
Connected.
SQL> define
DEFINE _DATE = ......