2010-11-08 62 views
4

我在Oracle SQL函數
創建或替換功能testfunc .....搜索SQL函數

成功地進行編譯。當我驗證all_procedures系統表時,它不在那裏。 select * from all_procedures where procedure_name like'%testfunc%';

不知道我是否在尋找正確的系統表

+0

如果您實際上想要將函數命名爲'testfunc',您需要使用'create或replace function'testfunc「 - 儘管您可能不想... – 2010-11-08 04:23:36

回答

13

除非你使用雙引號的標識強制區分大小寫(你幾乎肯定不希望做的事情),Oracle會永遠商店標識在數據字典中大寫。所以,你想在

SELECT * 
    FROM all_procedures 
WHERE procedure_name = 'TESTFUNC' 
+0

您是否在all_procedures視圖中找到了您的過程?我無法找到它,當我創建...時:?奇怪..它顯示我只是包裝規格和包裝機構...請告訴我你找到或沒有?謝謝 – kupa 2010-11-10 05:30:03

2

日誌爲系統或SYS作爲SYSDBA,查詢:

SELECT * 
FROM dba_objects 
WHERE object_name LIKE '%TESTFUNC%' 
AND object_type='FUNCTION'; 

身份登錄的用戶和查詢:

SELECT * 
FROM all_objects 
WHERE object_name LIKE '%TESTFUNC%'