zoukankan      html  css  js  c++  java
  • Orcale Function Sequence

     Orcale Function Sequence.

    1
    Create Or Replace Function F_Get_Sequence(As_Companyno In Varchar2, 2 As_Tablename In Varchar2, 3 As_Prefix In Varchar2, 4 As_Number In Number := 6) 5 Return Varchar2 Is 6 As_Seqvalue Varchar(32); 7 As_SeqvalueTemp Varchar(32); 8 As_Tablenameupper Varchar2(64); 9 As_Count Number(6); 10 As_Sql Varchar2(500); 11 As_Length Number(6); 12 Begin 13 If As_Number Is Null Then 14 As_Length := 6; 15 Else 16 As_Length := As_Number; 17 End If; 18 As_Tablenameupper := Upper(As_Tablename); 19 Select Count(1) 20 Into As_Count 21 From Basic_Sequence t 22 Where t.Companyno = As_Companyno 23 And t.Tablename = As_Tablenameupper; 24 If As_Count = 0 Then 25 Begin 26 As_Sql := 'Insert Into Basic_Sequence(Companyno,Tablename, Currentvalue) Values (:Companyno,:Tablename, 0)'; 27 Execute Immediate As_Sql 28 Using As_Companyno, As_Tablenameupper; 29 Commit; 30 End; 31 End If; 32 33 Update Basic_Sequence t 34 Set t.Currentvalue = t.Currentvalue + 1 35 Where t.Companyno = As_Companyno 36 And t.Tablename = As_Tablenameupper; 37 Select Currentvalue 38 Into As_Seqvalue 39 From Basic_Sequence t 40 Where t.Companyno = As_Companyno 41 And t.Tablename = As_Tablenameupper; 42 IF Length(As_Seqvalue) < As_Length Then 43 As_Length = Length(As_Seqvalue); 44 End If; 45 As_Seqvalue := As_Prefix || To_Char(Sysdate, 'yyyymmdd') || 46 Lpad(Substr(As_Seqvalue, -As_Length), As_Length, '0'); 47 48 Return(As_Seqvalue); 49 End f_Get_Sequence;
  • 相关阅读:
    [C++] static member variable and static const member variable
    [C++] const inside class VS const outside class
    [C++] OOP
    [C++] Function Template
    [C++] right value reference
    [C++] advanced reference
    [C++] const and char*
    [C++] c Struct VS c++ Struct
    [C++] decltype(auto) C++ 11 feature
    easyui-validatebox 的简单长度验证
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/6015643.html
Copyright © 2011-2022 走看看