--但個函式進行管理
create or replace function testuser.proone(shortname in varchar2) return varchar2 is
tmaxno2 varchar(64);
pragma autonomous_transaction;
begin
declare
tmaxno integer := 0;
tmaxno1 varchar(32) ;
tmaxno2 varchar(32) ;
yeary varchar(2) ;
begin
select max(maxno) into tmaxno from testuser.t_maxno_conf where type='proone';
if tmaxno is null or tmaxno='' then
insert into testuser.t_maxno_conf(type,maxno)values('proone',1);
commit;
tmaxno:=1;
select lpad('1','2',0) into tmaxno1 from dual;
tmaxno2:='hk-'||yeary||'-'||shortname||'-'||tmaxno1;
else
update testuser.t_maxno_conf a set a.maxno=a.maxno+1 where a.type='proone';
commit;
select lpad(tmaxno,'2',0) into tmaxno1 from dual;
select substr(extract(year from sysdate),3,4) into yeary from dual;
tmaxno2:='hk-'||yeary||'-'||shortname||'-'||tmaxno1;
end if;
return tmaxno2;
end;
end proone; --不需要加屬主,否則報錯
包的方式進行函式管理
包頭create or replace package testuser.testuser_project_package is
function proone(shortname in varchar2) return varchar2 ;
end testuser_project_package; --結尾不需要加屬主
包體create or replace package body testuser.testuser_project_package --包體開頭,可以加屬主
isfunction proone(shortname in varchar2)
return varchar2 is
tmaxno2 varchar(64);
pragma autonomous_transaction;
begin
declare
tmaxno integer := 0;
tmaxno1 varchar(32) ;
tmaxno2 varchar(32) ;
yeary varchar(2) ;
begin
select max(maxno) into tmaxno from testuser.t_maxno_conf where type='proone';
if tmaxno is null or tmaxno='' then
insert into testuser.t_maxno_conf(type,maxno)values('proone',1);
commit;
tmaxno:=1;
select lpad('1','2',0) into tmaxno1 from dual;
tmaxno2:='hk-'||yeary||'-'||shortname||'-'||tmaxno1;
else
update testuser.t_maxno_conf a set a.maxno=a.maxno+1 where a.type='proone';
commit;
select lpad(tmaxno,'2',0) into tmaxno1 from dual;
select substr(extract(year from sysdate),3,4) into yeary from dual;
tmaxno2:='hk-'||yeary||'-'||shortname||'-'||tmaxno1;
end if;
return tmaxno2; --每個函式體的結尾標示
end ;
end proone; --包體的結尾標示
end testuser_project_package; --結尾不需要加屬主
文件的管理方式
摘要 這裡只對手寫文件的管理進行個人方式的總結。包括文件的書寫和儲存等。以下部分基於假設 你使用markdown書寫文件。markdown,vscode,mpe1 markdownlint,git,github 2 理論上,應使用markdown語言進行編輯,並控制每行只有一句話。而在markdow...
python的包管理方式
模組包 包通常總是乙個目錄,目錄下為首的乙個檔案便是 init py。然後是一些模組檔案和子目錄,假如子目錄中也有 init py 那麼它就是這個包的子包了。差不多就像這樣吧 假定我們的包的例子有如下的目錄結構 phone init py common util.py voicedta init p...
C 的記憶體管理方式
c語言記憶體管理方式在c 中可以繼續使用,同時c 又提出了自己的記憶體管理方式 通過new和delete運算子進行動態記憶體管理。舉例來說明他們的使用 void test new和delete,new和delete一定要配合使用,不然就會導致記憶體洩漏或者崩潰的問題 new申請空間時會將括號中的物件...