Oracle ´æ´¢¹ý³Ì·µ»Ø½á¹û¼¯Óà ref cursor ʵÏÖ¡£ÊÔÑé²½ÖèÈçÏ£º
1. ½¨Á¢ ref cursor ÀàÐͺ͹ý³Ì
CREATE OR REPLACE PACKAGE types
AS
TYPE ref_cursor IS REF CURSOR;
END;
/
CREATE TABLE STOCK_PRICES(
RIC VARCHAR(6) PRIMARY KEY,
PRICE NUMBER(7,2),
UPDATED DATE );
/
CREATE OR REPLACE FUNCTION sp_get_stocks(v_price IN NUMBER)
RETURN types.ref_cursor
AS
stock_cursor types.ref_cursor;
BEGIN
OPEN stock_cursor FOR
SELECT ric,price,updated from stock_prices WHERE price < v_price;
RETURN stock_cursor;
END;
2. Óà sqlplus ²âÊÔ¹ý³Ì
SQL> var results refcursor
SQL> exec :results := sp_get_stocks(20.0)
SQL> print results
3. ´Ó Java µ÷ÓÃ
import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
public class JDBCDemo {
/**
* Compile-time flag for deciding ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
¹«ÍøÖÕÓÚͨµÄ£¬ÎÒµÄubuntu
Ò²ÖÕÓÚ¿ÉÒÔ¼ÌÐøʹÓÃÁË¡£¡£¡£
Ê×ÏȰѱ¾×ÓµÄubuntu
´Ó9.04
Éý¼¶µ½10.04
£¬·¢ÏÖϵͳ±ä³ÉÓ¢ºº»ìÓÃÁË£¬ÖØÑ¡ÓïÑÔÖ§³Ö°üÒ²²»¿ÉÒÔ£¬ÊäÈë·¨Ò²Ìí¼Ó²»ÉÏ£¬µ¹ÊÇûÓÐÍøÉÏÓÐÈËÌáµ½µÄϵͳÏìÓ¦·Ç³£»ºÂýµÄÎÊÌâ¡£°ëÌìδ¹û¾ÍÖ±½ÓÖØװϵͳ£¬°æ±¾ÊÇ10.04
¡£
Èí¼þµÄ°²×°¶¼±È½ÏÈÝÒס£¿ÉÒÔͨ¹ýÐÂÁ¢µÃÈí¼þ¹ÜÀíÆ÷Ò²¿ÉÒÔÊÇÈí¼þÖÐÐÄÀ´½øÐаüµÄ°²×°£¬ÊäÈë·¨ÓÃscim
£¬ÀïÃæÓÐÎå±Ê£¬¾Í²»ÕÒÆäËüµÄÖ§³ÖÈí¼þ£¬Õâµã×öµÃÒª±È΢ÈíµÄϵͳºÃ¡£
·ÖÁ˼¸¸ö²½ÖèÀ´½øÐÐoracle
10g
µÄ°²×°£º
1
¡¢ÏÂÔØÈí¼þ°ü¡£
½øÈëoracle
¹Ù·½Èí¼þhttp://www.oracle.com/technology/global/cn/software/products/database/xe/htdocs/102xelinsoft.html
½øÐÐÈí¼þ°üµÄÏÂÔØ£¬ÏÂÔØoracle-xe-universal_10.2.0.1-1.0_i386.deb
ÒÔ¼°oracle-xe-client_10.2.0.1-1.0_i386.deb
°ü¡£
2
¡¢½¨Á¢oracle
Óû§¼°»·¾³ÅäÖÃ
°²×°±ØÐëµÄ°ü
apt-get install gcc make
binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 libstdc++5
alien
´´½¨Óû§
ΪÁË·½±ãÅ ......
½ñÌìÅöµ½Ò»¸öÎÊÌ⣬ͨ¹ýÒ»¸öSQLÓï¾ä²éѯʱ£¬³öÈçÏÂÎÊÌ⣺
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "WMSYS.WM_CONCAT_IMPL", line 30
ÎÊÌâ³öÏÖÔÚͨ¹ýWMSYS.WM_CONCAT_IMPLº¯ÊýÖØÐÂ×é×°×Ö·û´®µÄʱºò£¬×é×°µÄ´®¹ý³¤£¬varchar2ÀàÐ͵ÄÊý¾ÝÀàÐÍ×î´óΪ4000¸ö×Ö½Ú£¬ÔÚPL/SQLÖÐ×î´óΪ32767£¬ÔÒò¾ÍÔÚÕâWMSYS.WM_CONCAT_IMPL×é×°µÄÕâ¸ö×Ö·û´®³¤¶ÈΪ18031£¬ÔÚschema¼¶ÏÂvarchar2×î´óÊÇ4000£¬³¬¹ý×î´ó³¤¶È£¬±¨´í¡£(¼ÇϸÃÎÊÌ⣬³¤¼ÇÐÔ~)
ÒÔÏÂÄÚÈÝΪתÔØ£¬url£ºhttp://www.blogjava.net/wangbing/archive/2010/03/15/315482.html
¹ØÓÚ varchar2 µÄ×î´ó³¤¶È
varchar2ÓÐÁ½¸ö×î´ó³¤¶È£ºÒ»¸öÊÇÔÚ×Ö¶ÎÀàÐÍ4000£»Ò»¸öÊÇÔÚPL/SQLÖбäÁ¿ÀàÐÍ32767¡£½ñÌì·¸ÁËÒ»¸öС´íÎ󣬾ÍÊǺ¯ÊýµÄvarchar2ÀàÐ͵ķµ»ØÖµ³¤¶ÈÒ²ÊÇ4000£¬¶ø²»ÊÇÎÒÒÔΪµÄ32767¡£
ÏëÁËһϣ¬ÕâÊÇÒ»¸ö±È½ÏÈÝÒ׳ö´íµÄµØ·½¡£ÒòΪÔÚº¯ÊýÖÐÎÒ¿ÉÒÔÉùÃ÷³¤¶È³¬¹ý4000µÄ×Ö·û´®±äÁ¿£¬²¢ÇÒ½«Ëü×÷Ϊ·µ»ØÖµ£¬ÕâÀïÊDz»»áÌáʾ±àÒë´íÎóµÄ¡£Õâ¸öº¯Êýƽʱ¶¼¿ÉÒÔÕý³£Ö ......
Ç°¼¸Ìì°ïÒ»¸öÅóÓÑŪORACLE¿çÊý¾Ý¿âµÄ²Ù×÷£¬¹²ÏíϾßÌåµÄ²Ù×÷Á÷³Ì£º
Ò»¡¢²»Í¬IPµÄÊý¾Ý¿â£¨DBLINK£©
±¾µØÊý¾Ý¿âip 10.56.7.26
Ô¶³ÌÊý¾Ý¿âip 233.215.219.8
1.ÔÚ10.56.7.26Êý¾Ý¿â°²×°ÎļþÖУ¬ÕÒµ½$ORACLE_HOME/network/admin/tnsnames.oraÎļþ£¬
ĩβÌí¼Ó
MEDIADBLINK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 233.215.219.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
2.µÇ¼µ½10.56.7.26Êý¾Ý¿â£¬´´½¨database link£¬ÕâÀïÐèҪʹÓÃsysdbaµÄ½ÇÉ«µÇ¼£¬½øÐÐȨÏÞ·ÖÅä·½¿É´´½¨
Ö´ÐÐÈçÏÂsqlÓï¾ä£º
create public database link MEDIADB
connect to smsuser identified by zonefree2better
using 'MEDIADBLINK';
´´½¨ÍêºóʹÓÃ,¼ì²éÊÇ·ñ³É¹¦£º
select owner,object_name from dba_objects where object_type='DATABASE LINK';
3.ÔÚ10.56.7.26Öд´½¨´¥·¢Æ÷
´¥·¢Æ÷ÖвåÈëÔ¶³ÌÊý¾Ý±ísql£º
create or replace trigger t_t_test
& ......
ÈçºÎÐÞ¸ÄOracleĬÈÏÓû§ÃÜÂëÓÐЧÆÚʱ¼ä
1¡¢²é¿´Óû§µÄproifleÊÇÄĸö£¬Ò»°ãÊÇdefault£º
sql>SELECT username,PROFILE from dba_users;
2¡¢²é¿´Ö¸¶¨¸ÅÒªÎļþ£¨Èçdefault£©µÄÃÜÂëÓÐЧÆÚÉèÖãº
sql> SELECT * from dba_profiles s WHERE
s.profile='DEFAULT' AND
resource_name='PASSWORD_LIFE_TIME';
3¡¢½«ÃÜÂëÓÐЧÆÚÓÉĬÈϵÄ180ÌìÐ޸ijɓÎÞÏÞÖÆ”£º
sql>ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME UNLIMITED;
ÐÞ¸ÄÖ®ºó²»ÐèÒªÖØÆô¶¯Êý¾Ý¿â£¬»áÁ¢¼´ÉúЧ¡£ ......
----±¾Óû§ËùÓµÓеÄϵͳȨÏÞ:
select * from user_sys_privs;
---±¾Óû§¶ÁÈ¡ÆäËûÓû§¶ÔÏóµÄȨÏÞ:
¡¡select * from user_tab_privs;
-----Ìí¼ÓȨÏÞ
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO Óû§Ãû£¨accor£©
-----´´½¨ÁÙʱ±í¿Õ¼ä
create temporary tablespace accor_ts
tempfile 'd:\accorDB' ----‘Êý¾ÝÎļþ´æ·Å·¾¶’
size 32M ----Îļþ´óС
autoextend on
next 32M maxsize 2048M
extent management local;
----´´½¨±í¿Õ¼ä
create tablespace accor_test
datafile 'd:\accorDataBase' ----‘Êý¾ÝÎļþ´æ·Å·¾¶’
size 32M ----Îļþ´óС
autoextend on
next 32M maxsize 2048M
extent management local;
----- ......