我有這樣的說法:簡單PLSQL(甲骨文)的語法問題
SELECT passwdlib.piv_insertPasswd(:A1, :A2)
FROM DUAL
我猜測piv_insertPasswd
是功能或SP名稱,passwdlib是用戶名。我對嗎?如果不是每個組件是什麼?
我有這樣的說法:簡單PLSQL(甲骨文)的語法問題
SELECT passwdlib.piv_insertPasswd(:A1, :A2)
FROM DUAL
我猜測piv_insertPasswd
是功能或SP名稱,passwdlib是用戶名。我對嗎?如果不是每個組件是什麼?
passwdlib
可能是包名。請參閱http://download.oracle.com/docs/cd/B10500_01/appdev.920/a96624/09_packs.htm
否則,它是一個模式名稱。
模式,包,對象,同義詞。
select object_type
from user_objects uo
where uo.OBJECT_NAME = 'PASSWDLIB'
select typecode
from user_types ut
where ut.type_name = 'PASSWDLIB'
select *
from USER_METHOD_PARAMS um
where um.type_name = 'PASSWDLIB'
2°部:柱後添加被標記爲回答。 我認爲在這種情況下正確的方法是查詢字典,沒有它,我們只是試圖猜測!
測試對象選項。
CREATE TYPE TPerson AS OBJECT (
idno NUMBER,
first_name VARCHAR2(20),
last_name VARCHAR2(25),
email VARCHAR2(25),
phone VARCHAR2(20),
static FUNCTION getDetails return varchar2);
/
create type body TPerson as
static function getDetails return varchar2 is
begin
return 'I am TPerson type ';
end;
end;
/
select TPerson.getDetails() from dual;
輸出
select TPerson.getDetails() from dual;
TPERSON.GETDETAILS()
--------------------------------------------------------------------------------
I am TPerson type
調查
select object_type,uo.*
from user_objects uo
where uo.OBJECT_NAME = 'TPERSON';
OBJECT_TYPE OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY NAMESPACE EDITION_NAME
------------------- -------------------------------------------------------------------------------- ------------------------------ ---------- -------------- ------------------- ----------- ------------- ------------------- ------- --------- --------- --------- ---------- ------------------------------
TYPE TPERSON 23020 TYPE 02/08/2011 02/08/2011 07 2011-08-02:07:50:57 VALID N N N 1
TYPE BODY TPERSON 23021 TYPE BODY 02/08/2011 02/08/2011 07 2011-08-02:07:50:57 VALID N N N 2
select typecode,ut.*
from user_types ut
where ut.type_name = 'TPERSON';
TYPECODE TYPE_NAME TYPE_OID TYPECODE ATTRIBUTES METHODS PREDEFINED INCOMPLETE FINAL INSTANTIABLE SUPERTYPE_OWNER SUPERTYPE_NAME LOCAL_ATTRIBUTES LOCAL_METHODS TYPEID
------------------------------ ------------------------------ -------------------------------- ------------------------------ ---------- ---------- ---------- ---------- ----- ------------ ------------------------------ ------------------------------ ---------------- ------------- --------------------------------
OBJECT TPERSON 711EFA23BE614F1BAFE0D741324DB215 OBJECT 5 1 NO NO YES YES
最有可能是正確的。我的系統管理員給我一些調試,我發現代碼中的聲明。我檢查了數據庫,並沒有這樣的包。也許我應該與他聯繫,以獲取我需要繼續執行的其他項目。 – Haoest
@Haoest'passwdlib'也可以是一個不同包名的公共同義詞 – Phil
如何在字典中沒有調查的情況下如何說呢?它也可以是一個對象類型 – zep