×Ô¼ºÐ´µÄ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;
 
Ïà¹ØÎĵµ£º
OracleÊý¾Ý¿âÖ»ÊÇһЩÎļþ×é³É£¬OracleʵÀýÊÇÖ¸ÓÐ×Ô¼ºµÄϵͳȫ¾ÖÇøºÍÏà¹ØÊý¾Ý¿âÎļþµÄOracle·þÎñÆ÷½ø³Ì¼¯¡£ÐÂ×°µÄOracleÊý¾Ý¿â¹ÜÀíϵͳÓÐÒ»¸öԤװµÄÊý¾Ý¿â£¨Í¨³£½ÐORCL£©£¬Í¬Ê±»áÆô¶¯Ò»¸öʵÀý£¬ÒÔºóµÄÊý¾Ý¿âÁ¬½Ó£¬¶¼Ä¬ÈÏÊÇͨ¹ýÕâ¸öʵÀýÁ¬½Óµ½¸ÃÊý¾Ý¿â¡£
¿ÉÒÔн¨Êý¾Ý¿â£¬ ......
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·½·¨À´¸ñʽ»¯ÈÕÆÚµÄÊ ......
PL/SQLÊǶÔOracleÊý¾Ý¿â½øÐвÙ×÷µÄÒ»ÖÖ¹ý³ÌÐÔ±à³ÌÓïÑÔ£¬Ëü¿ÉÒÔÔÚSQL * plusÖÐÖ´ÐУ¬Ò²¿ÉÒÔǶÈëµ½JAVA»òÕßC++ÖС£Æä»ù±¾×é³ÉΪ£º
DECLARE
...
BEGIN
...
EXCEPTION
...
END
¿ÉÓÃÀ´½«¶ÔÊý¾Ý¿âµÄ¸÷ÖÖ²Ù×÷·âװΪһ¸ö´úÂë¿é£¬ÎªÁ˼ÓÇ¿¿ÉÖØÓÃÐÔ£¬»¹¿É½«Öظ´ÐÔ´úÂëд³Éº¯ÊýÓë´æ´¢¹ý³Ì£¬Ó ......
recordʾÀý£º
create or replace procedure pro_test_record(vid in varchar2) is
type userRow is record(
id t_user.id%type,
name t_user.name%type
);
realRow userRow;
begin
select id,name into realRow from t_user where id=vid;
dbms_output.put_line(realRow.id||','||realRow.name);
end pro_test_re ......