test
表資料如下:
ikey cname pikey
1
集團 0
2
公司 1
3
部門 2
4
個人 3
試寫一遞迴函式,傳入ikey值,遍歷取出pikey值。執行時如傳入ikey為4,則該函式遍歷取出pikey值依次為3、2、1、0,最後返回0顯示到前台。
--建立表
drop table test;
drop sequence seq_test;
create sequence seq_test;
create table test(
ikey number(5) primary key,
cname varchar2(10),
pikey number(3)
);insert into test values(seq_test.nextval,'集團',0);
insert into test values(seq_test.nextval,'公司',1);
insert into test values(seq_test.nextval,'部門',2);
insert into test values(seq_test.nextval,'個人',3);
commit;
select * from test;
--函式
create or replace function func_test(i_int in number)
return number
is result number(3);
temp number(3);
type ref_cursor is ref cursor;
v_cursor ref_cursor;
begin
open v_cursor for 'select pikey from test where ikey<= '||i_int||'order by ikey desc';
loop
fetch v_cursor into temp;
exit when v_cursor%notfound;
dbms_output.put_line(temp);
if(temp=0) then
result:=temp;
goto label1;
end if;
end loop;
<>
close v_cursor;
return result;
exception
when others then
if(v_cursor%isopen) then
close v_cursor;
end if;
return '';
end;
--測試
declare
v_pikey number;
begin
v_pikey :=func_test(4);
dbms_output.put_line('結果值:'||v_pikey);
end;
資料庫函式
常用函式 dual是乙個oracle內部表,不論我們做什麼操作 不要刪除記錄 可以做很多取系統時間,計算等。虛表 dual 是oracle提供的最小的工作表,它僅包含一行一列。select from dual abs 絕對值 select abs 10 abs 10 from dual 10 10 ...
資料庫函式依賴
關聯式資料庫設計理論的核心是資料間的函式依賴,衡量的標準是關係規範化的程度及分解的無損連線和保持函式依賴性。函式依賴研究的是乙個關係中屬性之間存在的依賴關係,它是根據現實世界中資料項之間存在的語義通過觀察和分析得出的結果,是資料內在的性質,是一種語義範疇的概念。一 函式依賴 functional d...
資料庫函式依賴
一 函式依賴 functional dependency 的概念 資料依賴的一種,它反映屬性或屬性組之間相依存,互相制約的關係,即反映現實世界的約束關係。二 定義 設r u 是屬性u上的乙個關係模式,x和y均為u 的子集,r為r的任一關係,如果對於r中的任意兩個元組u,v,只要有u x v x 就有...