[英]how to run a sql function in pl sql developer
我是oracle新手。 我使用pl sql developer在oracle數據庫中創建了一個函數,並成功執行。 現在,我想通過查詢從同一pl sql開發人員運行該功能。 但它不能正常工作。 下面是我的功能。
create or replace function com.my_first_test_function(module_code out varchar2,
bpm_process_name out varchar2,module_name out varchar2,input in number)return number is
y_return number(1)
N_return varchar(200)
begin
if input='yes' then
Y_return :=select module_code ,bpm_process_name,module_name from com_tm_bpm_process_details;
if input='no' then nested_procedure_exception exception
但是當我嘗試使用以下查詢運行此功能時,它會拋出一些錯誤消息。 誰能告訴我如何從pl sql developer調用該函數。
select * from com.my_first_test_function(java.sql.Types.VARCHAR,java.sql.Types.VARCHAR,java.sql.Types.VARCHAR,'yes')
在這里,我嘗試也沒有參數值,但仍然沒有用。
在SQL語句中調用函數的目的是計算一些返回值,並從參數中讀取信息。 因此,帶有OUT參數的函數在SQL中沒有意義。 如果您需要一些可以處理OUT參數的東西,則可以在PL / SQL塊中使用將變量作為OUT參數傳遞的過程。
關於調用FUNCTION,可以使用帶有變量的PL / SQL塊:
SQL> create or replace function f( n IN number) return number is
2 begin
3 return n * 2;
4 end;
5 /
Function created.
SQL> declare
2 outNumber number;
3 begin
4 select f(10)
5 into outNumber
6 from dual;
7 --
8 dbms_output.put_line('outNumber: "' || outNumber || '"');
9 end;
10 /
outNumber: "20"
PL/SQL procedure successfully completed.
甚至直接在SQL查詢中調用它:
SQL> select f(10) from dual;
F(10)
----------
20
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.