×Ô¼ºÐ´µÄoracle´æ´¢¹ý³Ì»áÓõ½
create or replace procedure prc_statistic_declare(table_name varchar2 ,table_name_pass varchar2 ,not_exist varchar2,not_exist_record varchar2)
--eg:'t_statistic_bianyuanhu_month',t_statistic_bianyuanhu_month,('YEAR','STATISTIC_ID')','YESR'
is
v_sql_column varchar2(1000);
v_sql_record varchar2(1000);
get_declare varchar2(9000);
begin
declare
type v_column is record(c_value varchar2(200));
dec_column v_column;
type my_cursor is ref cursor;
v_statistic_cur my_cursor;
begin
v_sql_column :=' select column_name from user_tab_columns c WHERE c.TABLE_name = upper('||table_name||')
and c.column_name not in ('||not_exist||')';
dbms_output.put_line(v_sql_column);
get_declare :=' ';
open v_statistic_cur for v_sql_column;
fetch v_statistic_cur into dec_column;
while v_statistic_cur%found loop----------»ñµÃdeclareÊý×éÓï¾ä
get_declare :='type '||dec_column.c_value||' is table of '||table_name_pass||'.'||dec_column.c_value||'%type index by pls_integer;';
dbms_output.put_line('type DEC_'||dec_column.c_value||' is table of '||table_name_pass||'.'||dec_column.c_value||'%type index by pls_integer;');
fetch v_statistic_cur into dec_column;
end loop;
 
Ïà¹ØÎĵµ£º
Ò»£ºÎÞ·µ»ØÖµµÄ´æ´¢¹ý³Ì
´æ´¢¹ý³ÌΪ£º
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 ......
֮ǰ¿ª·¢OracleÒ»°ãÊÇʹÓÃPL/SQL Developer»òÕßÊÇTOAD£¬ÓÉÓÚÏÖÔÚ¹«Ë¾¶Ô°æÈ¨ÎÊÌâ¿´µÃ±È½ÏÖØ£¬ËùÒÔÎÒÒ²Ö»ÄܶÔÕâЩÊìϤµÄ¿ª·¢¹¤¾ß˵Éù°Ý°ÝÁË£¡ÔÚOracle¹Ù·½ÍøÕ¾Õ¾¿´µ½ÁËOracleÒѾÓÐÁËÒ»¸öOracle SQL Developer£¬²¢ÇÒÊÇÃâ·ÑµÄ£¡
ÒÔÏÂÊÇOracle¹Ù·½¶ÔOracle SQL DeveloperµÄ½éÉÜ
³ÌÐò´úÂë
orac ......
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 = ......
ÓÐÁ½ÖÖº¬ÒåµÄ±í´óС¡£Ò»ÖÖÊÇ·ÖÅä¸øÒ»¸ö±íµÄÎïÀí¿Õ¼äÊýÁ¿£¬¶ø²»¹Ü¿Õ¼äÊÇ·ñ±»Ê¹Ó᣿ÉÒÔÕâÑù²éѯ»ñµÃ×Ö½ÚÊý£º
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
ÁíÒ»ÖÖ±íʵ¼ÊÊ¹Ó ......