當前位置:首頁 » 編程軟體 » oracle編譯package

oracle編譯package

發布時間: 2022-07-22 06:49:09

Ⅰ oracle裡面的包(package) 有什麼用啊

簡單說,就是將oracle里的一部分procere等object 組織起來,完全是為了方便代碼程序的管理,完全不使用package也是可以的,只是那樣的話,代碼多了不易管理

Ⅱ oracle如何批量編譯包體

sql">alterpackageusername.xxxxcompilebody;

語法如上

Ⅲ oracle package(包)是什麼有什麼用處

package就是用來封裝過程,函數用的。
一個package可以存放多個過程,函數。
調用是:
包名.過程名1
包名.過程名2

樓上解釋很形象~

Ⅳ ORACLE 過程編譯錯誤,高手來解答!

憑感覺,你的語法沒錯。今天連不起公司伺服器。周一連上給你試試,等著。。

我們創建的時候,用的是create or replace package。我將你包的內容改變了(因為我沒有創建你的那個數據表emp),運行成功了的。內容如下:

create or replace package xxemp_pkg is

procere update_sal(name varchar2,newsal number);

function annual_income(name varchar2) return number;

end;
/
create or replace package body xxemp_pkg is
procere update_sal(name varchar2,newsal number)
is
begin
/*update emp set sal=newsal
where lower(ename)=lower(name);*/null;
end;
function annual_income(name varchar2) return number
is
annual_salary number(7,2);
begin
/*select sal*12+nvl(comm,0) into annual_salary
from emp where lower(ename)=lower(name);*/null;
return annual_salary;
end;
end;
/
你再到你的系統試一試。

Ⅳ oracle 編譯包的時候,一直提示正在編譯

編譯的存儲過程的時候,程序死住,等待一會出現ora-04021錯誤解決辦法:

1.可能被鎖住

查看v$lockedselect b.sid,b.serial#,b.machine,b.terminal,b.program,b.process,b.status from v$lock a , v$session b

where a.SID = b.SID

得到死鎖session的SID,SERIAL#參看這個是否為你自己用戶下的,然後kill掉session

2.可能被掛起

查看v$session_waitselect b.serial#,a.* from v$session_wait a,v$session
bwhere a.sid = b.sid得到等待的session的sid和serial#3.查看dba_ddl_locksselect
session_id sid, owner, name, type,

mode_held held, mode_requested request

from dba_ddl_locks
where name = '&your_package_name'

Ⅵ oracle 如何執行package

exec package.function(xx,xx...);
如果想執行整個,在包中編寫一個調研所有函數或存儲的主存儲,然後你調研主存儲就可以了。

oracle提供包功能本身不具備調研所有函數或存儲的功能,只是將函數、存儲、變數以包的形式管理。

Ⅶ oracle 創建存儲過程報錯, PACKAGE BODY SCOTT.EMP_SAL_MANAGEMENT 編譯錯誤

子程序或游標 'P_P_BONUS' 已在程序包說明中聲明, 必須在程序包體中對其進行定義。意思是你已經聲明了這個存儲過程P_P_BONUS,但是沒有在包體(PACKAGE BODY )中定義,就是你還需要在包體中定義P_P_Bonus的實現部分

Ⅷ 如何重編譯ORACLE資料庫的無效對象

如果無效對象的數量很少,那麼你可以逐個編譯這些對象.

ALTER PACKAGE my_package COMPILE;
ALTER PACKAGE my_package COMPILE BODY;
ALTER PROCEDURE my_procere COMPILE;
ALTER FUNCTION my_function COMPILE;
ALTER TRIGGER my_trigger COMPILE;
ALTER VIEW my_view COMPILE;

Ⅸ Oracle中的package 怎麼用

先create package,在裡面聲明procere

然後再create package body,在package body裡面編寫procere的代碼即可(相當於create procere)。

包里沒有create procere

示例如下:

CREATE OR REPLACE PACKAGE pkg_test IS
PROCEDURE pro_test(V_OLD IN VARCHAR2,V_NEW IN VARCHAR2);
...
END test;
/

CREATE OR REPLACE PACKAGE BODY pkg_test IS
...

PROCEDURE pro_test(V_OLD IN VARCHAR2,V_NEW IN VARCHAR2) IS
BEGIN
...
END;

...
END pkg_test;

熱點內容
項目編譯慢 發布:2025-02-06 16:53:48 瀏覽:379
python處理excel文件 發布:2025-02-06 16:36:09 瀏覽:441
演算法相對定位 發布:2025-02-06 16:32:42 瀏覽:727
java程序的編譯和執行 發布:2025-02-06 16:21:45 瀏覽:419
什麼是淘寶帳號和密碼 發布:2025-02-06 16:21:36 瀏覽:497
解壓前面簽 發布:2025-02-06 16:02:00 瀏覽:326
華碩訪問點 發布:2025-02-06 15:56:57 瀏覽:333
excel拼接sql 發布:2025-02-06 15:50:10 瀏覽:503
加密手機直播 發布:2025-02-06 15:49:31 瀏覽:537
自帶ftp伺服器好用嗎 發布:2025-02-06 15:26:11 瀏覽:112