2015-07-03 24 views
1

我對PL/SQL非常陌生,無法理解錯在哪裏。創建函數時無效的對象類型

創建新型

create or replace TYPE "hmdtype" is object(entity_id number, tipe varchar2(200), oper_id number, message varchar2(200))

編譯它,它的確定。

然後我試圖創建函數返回此類型:

create or replace FUNCTION HDM RETURN HMDTYPE AS 
BEGIN 
    RETURN NULL; 
END HDM; 

嘗試編譯。該錯誤是錯誤(1,21):PLS-00905:對象U216_DM2_6350.HMDTYPE是提前

回答

0

無效

感謝如果你限定了由一個對象名稱「」它是區分大小寫。 默認(不帶「」)名稱將被轉換爲大寫。

嘗試create or replace FUNCTION HDM RETURN "hmdtype" AS

或重新定義你的類型不 「」

create or replace TYPE hmdtype is object(entity_id number, tipe varchar2(200), oper_id number, message varchar2(200)) 

,你的代碼應工作

0
Hello you can use the exact name as you have compiled as "" means exact name whatever you have given during compilation. Below code you can check it works 

CREATE OR REPLACE TYPE "test_object" IS OBJECT 
(
F_NM VARCHAR2(100), 
L_NM VARCHAR2(100) 
); 

CREATE OR REPLACE FUNCTION test_function RETURN 
"test_object" 
AS 
BEGIN 
NULL; 
END; 
相關問題