我創建了一個包含成員函數的類型。而且我也爲該成員函數創建了主體類型。我需要一種方法來刪除正文和成員函數。落下屍體被執行。但不能刪除成員函數。那麼任何人都可以幫忙嗎?在oracle中刪除類型裏的成員方法
3
A
回答
1
你不能放棄它,因爲Type
被用在你的任何Object定義中的某個地方。請參見下面的演示:
--create類型
CREATE OR REPLACE TYPE EXMPL_Type AS OBJECT
(
Team VARCHAR2 (30),
TeamScore NUMBER (1),
MAP MEMBER FUNCTION team_rating
RETURN NUMBER
);
/
--Created式車身
CREATE OR REPLACE TYPE BODY EXMPL_Type
AS
MAP MEMBER FUNCTION team_rating
RETURN NUMBER
IS
avg_score NUMBER;
BEGIN
SELECT AVG (TeamScore)
INTO avg_score
FROM Team_Table ;
RETURN avg_score;
END;
END;
/
- 創建類型的表
CREATE TABLE ABC OF EXMPL_TYPE;
--Dropping身型。它得到了下降
DROP TYPE BODY EXMPL_Type;
--getting錯誤
DROP TYPE EXMPL_Type;
錯誤:
SQL> DROP TYPE EXMPL_Type;
DROP TYPE EXMPL_Type
*
ERROR at line 1:
ORA-02303: cannot drop or replace a type with type or table dependents
所以,你需要先刪除dependent
對象。在我的情況下,它是我創建的table
。因此,我放棄了它;
SQL> DROP TABLE ABC;
Table dropped.
SQL> DROP TYPE EXMPL_Type;
Type dropped.
您可以在DBA_DEPENDENCIES表依賴對象:下面請參見:
SELECT REFERENCED_NAME, REFERENCED_TYPE
FROM DBA_DEPENDENCIES
WHERE name = 'EXMPL_TYPE';
0
需要編輯的類型說明和體以除去成員函數(或掉落體),然後重新編譯規範(和身體,如果它仍然需要)。
的Oracle 11g R2架構設置:
CREATE TYPE test_type IS OBJECT(
value NUMBER,
MEMBER FUNCTION getValue RETURN NUMBER
)
/
CREATE TYPE BODY test_type IS
MEMBER FUNCTION getValue RETURN NUMBER
IS BEGIN RETURN self.value; END;
END;
/
DROP TYPE BODY test_type
/
CREATE OR REPLACE TYPE test_type IS OBJECT(
value NUMBER
)
/
查詢1:
SELECT object_name, status
FROM user_objects
| OBJECT_NAME | STATUS |
|-------------|--------|
| TEST_TYPE | VALID |
如果類型具有依賴類型,那麼在重新編譯該類型之前需要先刪除它們,然後重新創建它們。
相關問題
- 1. 在oracle中重載的成員方法
- 2. 成員方法如何刪除對象?
- 3. C++刪除類成員Char *
- 4. 哪裏的類,方法及其成員存儲在內存中?
- 5. 管理員列表刪除和模型刪除()方法
- 6. essbase中的成員刪除
- 7. 類型刪除在這裏工作?
- 8. 從虛擬成員函數ptr中刪除類型(bug?)
- 9. trait從成員函數類型中刪除const?
- 10. 正確的方法來處理從REST組中刪除成員
- 11. 如何在擴展方法中使用泛型類成員?
- 12. 傳球類成員方法
- 13. 指針類成員和刪除責任
- 14. 這裏會發生類型刪除嗎?
- 15. 在類中使用泛型類成員
- 16. 在HttpPost中刪除靜態成員
- 17. 參考預選賽和刪除的成員方法
- 18. 蘊類型的類成員
- 19. oracle對象類型及其在ado.net實體數據模型中的成員
- 20. 在哪裏添加java類的成員
- 21. 如何在實例方法和類方法中使用成員
- 22. 在方法內改變類成員?
- 23. 在oracle中更改數據類型而不刪除數據
- 24. 刪除類中的成員函數中的對象
- 25. 在哪裏可以初始化QML類型的成員?
- 26. 基於其他成員類型的條件成員類型
- 27. C++「接口」,並在成員方法派生類型參數
- 28. 私有類成員與方法返回類型爲
- 29. 無法在oracle中刪除用戶
- 30. 編輯更新成員中的刪除