Monday, October 8, 2007

Getting Object information in Oracle

To find out all the table name from oracle of any schema
select * from all_objects where OWNER ='Schema name' where object_type='TABLE/VIEW';

======================================
To find out all the column name from oracle of any table & schema
select * from ALL_TAB_COLUMNS where OWNER ='Schema name'

======================================
u will get all table n comment abt table
select * from dictionary

Sunday, July 29, 2007

Oracle DateDiff function

This function work like DateDiff function in SQL.

create or replace function datediff(p_what in varchar2, p_d1 in date, p_d2 in date)

return number is l_result number; begin select decode( upper(p_what), 'SS', (p_d2-p_d1)* 24 * 60 * 60 , 'MI', (p_d2-p_d1)* 24 * 60 , 'HH', (p_d2-p_d1)* 24 , 'DD', trunc(to_number(to_char(to_date(p_d2,'DD-MON-YYYY'), 'j')) - to_number(to_char(to_date(p_d1,'DD-MON-YYYY'), 'j')))
, 'MM', trunc(months_between(to_date(to_char(p_d2,'DD-MON-YYYY'), 'DD-MON-YYYY'), to_date(to_char(p_d1,'DD-MON-YYYY'), 'DD-MON-YYYY')))
, 'YY', trunc(months_between(to_date(to_char(p_d2,'DD-MON-YYYY'), 'DD-MON-YYYY'), to_date(to_char(p_d1,'DD-MON-YYYY'), 'DD-MON-YYYY')) / 12)
, NULL ) into l_result from dual; return(l_result); end datediff;