私はこの文を持っている:シンプル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
はほとんどの場合正しいです。私のsysの管理者が私に何かを渡してデバッグして、コード内のそのステートメントを見つけました。私はデータベースをチェックし、そのようなパッケージはありません。たぶん彼と一緒にチェックして、私が進める必要がある残りのアイテムを手に入れてください。 – Haoest
@Haoest 'passwdlib'は、別のパッケージ名のパブリック・シノニムでもあります – Phil
辞書で調査しないとどうやって言うことができますか?それはオブジェクトタイプ – zep