Orac
view release on metacpan or search on metacpan
sql/Oracle/Table_Constraints.99.sql view on Meta::CPAN
a_lin := wri(a_lin,';',1);
end if;
if t_ct = 'R' then
declare
c_owner sys.dba_cons_columns.owner%TYPE;
c_table_name sys.dba_cons_columns.table_name%TYPE;
cursor c3 is
select owner,table_name
from dba_cons_columns
where owner = t_ro and constraint_name = t_rcn
order by position;
begin
open c3;
loop
fetch c3 into c_owner,c_table_name;
exit when c3%notfound;
end loop;
close c3;
a_lin := wri(a_lin,')',0);
a_lin := wri(a_lin,' references ',0);
a_lin := wri(a_lin,c_owner||'.'||
c_table_name,0);
end;
end if;
end if;
if t_ct = 'R' then
t_pn := 0;
declare
c_owner sys.dba_cons_columns.owner%TYPE;
c_constraint_name sys.dba_cons_columns.constraint_name%TYPE;
c_table_name sys.dba_cons_columns.table_name%TYPE;
c_column_name sys.dba_cons_columns.column_name%TYPE;
c_position sys.dba_cons_columns.position%TYPE;
cursor c4 is
select owner,constraint_name,
table_name,column_name,
position
from dba_cons_columns
where owner = t_ro and
constraint_name = t_rcn and table_name = t_rt
order by position;
begin
open c4;
loop
fetch c4 into c_owner,c_constraint_name,c_table_name,c_column_name,c_position;
exit when c4%notfound;
if c_position = 1 then
a_lin := wri(a_lin,' (',0);
a_lin := wri(a_lin,chr(34)||c_column_name||chr(34),0);
t_pn := 1;
else
a_lin := wri(a_lin,',',0);
a_lin := wri(a_lin,chr(34)||c_column_name||chr(34),0);
end if;
end loop;
close c4;
end;
if t_pn = 1 then
a_lin := wri(a_lin,')',0);
if t_dr = 'CASCADE' then
a_lin := wri(a_lin,' on delete cascade',0);
end if;
if t_st = 'DISABLED' then
a_lin := wri(a_lin,' DISABLE',0);
end if;
a_lin := wri(a_lin,';',1);
end if;
end if;
end loop;
close c1;
end;
( run in 0.511 second using v1.01-cache-2.11-cpan-f56aa216473 )