日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 修改pkg命令,oracle简单PKG(包)编写

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 修改pkg命令,oracle简单PKG(包)编写 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PL/SQL Developer

1.Command Window

View nt_affix; 瀏覽nt_affix

Edit ob_affix; 編輯ob_affix

Drop type nt_affix?2??/; 刪除nt_affix

Create type nt_affix as table of ob_affix; 創建個nt_affix繼承ob_affix

2.OB/NT/PKG都存于這個表名為USER_OBJECTS中

3.OB:

右鍵點擊右邊Types新建OB

create or replace type OB_SALECHECKON as object

(

-- Author??: zyp

-- Created : 2012/4/20 12:25:17

-- Purpose : OB_SALECHECKON

-- Attributes

agentID? ?? ???VARCHAR2(32), -- N??被考勤ID

agentName? ?? ?VARCHAR2(64), -- N 被考勤名字

checkName? ?? ?VARCHAR2(64), -- N 考勤人

agentCode? ?? ?VARCHAR2(32), -- N 被考勤人編號

agentLevel? ???VARCHAR2(32), -- N 被考勤人層級

checkItem? ?? ?VARCHAR2(64), -- Y 被考勤項目

checkStatus? ? VARCHAR2(32), -- Y 考勤狀態

checkStartTime DATE, -- Y 考勤開始時間

checkEndTime? ?DATE, -- Y 考勤結束時間

onTime? ?? ?? ?INT, -- Y 準時(次)

beLate? ?? ?? ?INT, -- Y 遲到

leave? ?? ?? ? INT, -- Y 請假

attendance? ???VARCHAR2(64), --被考勤人出勤率

checkWork? ?? ?INT, --被考勤人被考勤次數

noCheckWork? ? INT, --被考勤人未被考勤

-- Member functions and procedures

CONSTRUCTOR FUNCTION OB_SALECHECKON RETURN SELF AS RESULT

)

------------------------------------------------------------------

CREATE OR REPLACE TYPE BODY OB_SALECHECKON IS

CONSTRUCTOR FUNCTION OB_SALECHECKON RETURN SELF AS RESULT IS

BEGIN

RETURN;

END;

END;

4.NT:

點擊SQL Window直接運行

CREATE OR REPLACE TYPE nt_salecheckon AS TABLE OF ob_salecheckon

5.PKG:

右鍵點擊右邊Packages新建pkg

create or replace package PKG_SALECHECKON is

-- Author??: zyp

-- Created : 2012/4/20 14:39:24

-- Purpose : 當前插入考勤明細

function SALECHECKON(MAINID? ?? ?in varchar2,

CHECKSTATUS in varchar2,

AGENTLEVEL??in varchar2) return nt_SALECHECKON;

end PKG_SALECHECKON;

---------------------------------------------------------------------------------------------------------------------------

create or replace package body PKG_SALECHECKON is

function SALECHECKON(MAINID? ?? ?in varchar2, --in傳入的參數,out傳出的參數

CHECKSTATUS in varchar2,

AGENTLEVEL??in varchar2) return nt_SALECHECKON is

I? ?? ?? ?? ?? ? smallint := 1; --遍歷數聲明

P_NT_SALECHECKON NT_SALECHECKON := NEW nt_salecheckon(); --實例化NT

begin

for C in (select it.checkedagentcode as agentCode,

it.checkedname? ?? ?as agentName,

it.agenglevel? ?? ? as agentLevel,

ma.startdatetime? ? as checkStartTime,

ma.enddatetime? ?? ?as checkEndTime,

it.checkres? ?? ?? ?as checkStatus

from SALECHECKONMAIN ma, SALECHECKONITEM it

where ma.salecheckonmainid = it.salecheckonmainid

and ma.salecheckonmainid = MAINID

and checkres = CHECKSTATUS

and it.agenglevel = AGENTLEVEL) loop

P_NT_SALECHECKON.EXTEND; --P_NT_SALECHECKON擴展

P_NT_SALECHECKON(I) := new OB_SALECHECKON(); --實例化OB

P_NT_SALECHECKON(I).agentCode := C.AGENTCODE; --獲取對應的值

P_NT_SALECHECKON(I).agentName := C.AGENTNAME;

P_NT_SALECHECKON(I).agentLevel := C.AGENTLEVEL;

P_NT_SALECHECKON(I).checkStartTime := C.CHECKSTARTTIME;

P_NT_SALECHECKON(I).checkEndTime := C.CHECKENDTIME;

P_NT_SALECHECKON(I).checkStatus := C.CHECKSTATUS;

I := I + 1;

end loop;

RETURN P_NT_SALECHECKON;

end;

end PKG_SALECHECKON;

6.執行PKG:

SELECT * FROM table(PKG_SALECHECKON.SALECHECKON('LEC0000000099821','CHECKSTATUS_2','AM'))

總結

以上是生活随笔為你收集整理的oracle 修改pkg命令,oracle简单PKG(包)编写的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。