2011-06-07 108 views
2

我正在查詢數據庫,需要解析特定值的字段之一(使用字符串函數)。所以我認爲最好是爲它編寫一個函數。我從來沒有在plsql中寫過函數,所以我決定看一些例子。在plsql中寫入函數

我得到了一個簡單的「方形」函數的副本,它需要一個數字並返回它的平方,但不知道如何從SQL語句中調用它。

我只有閱讀權限。我能編寫函數並使用它們來檢索我需要的數據嗎?如果是這樣,怎麼樣?

回答

3

爲了能夠創建您的用戶需要由DBA授予它的CREATE PROCEDURE權限的功能:

grant create procedure to myschema; 

如果你有特權,那麼你可以創建一個這樣

create function square(n in number) return number 
is 
    return n*n; 
end; 
功能

而且你可以從這樣的SQL調用它:

select num, square(num) 
from mytable; 

注:ORAC樂一般最好在packages創建功能,在這種情況下,調用SQL是這樣的:

select num, mypackage.square(num) 
from mytable; 
+0

嗯,所以我需要爲更多的權限。猜猜我將不得不與我有什麼關係。 – MxyL 2011-06-07 15:49:34