Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> dynamic SQL

dynamic SQL

From: John Dunn <john.dunn_at_sefas.co.uk>
Date: Fri, 27 Oct 2000 16:52:42 +0100
Message-Id: <10662.120464@fatcity.com>


> I have a function something like ...
>
> FUNCTION get_status(var_printer VARCHAR2,
> var_printer_status OUT VARCHAR2) RETURN
> VARCHAR2;
>
> ... which I'd like to call using dynamic sql (i.e. using dbms_sql).
>
> The code I'm trying to use is ...
>
> var_sql := 'begin :var_return :=
> get_status(''prin'',:var_printer_status); end;';
>
> num_dynamic_cursor := dbms_sql.open_cursor;
>
> dbms_sql.parse(num_dynamic_cursor, var_sql, dbms_sql.native);
>
> dbms_sql.bind_variable(num_dynamic_cursor, ':var_return', var_return);
> dbms_sql.bind_variable(num_dynamic_cursor, ':var_printer_status',
> var_printer_status);
>
> num_rows := dbms_sql.execute(num_dynamic_cursor);
>
> dbms_sql.close_cursor(num_dynamic_cursor);
>
> I keep getting numeric/value errors on the execute though. I'm presuming
> it's to do with the :var_return &
> :var_printer_status variables being OUT rather than IN?
>
> None of the examples in the Oracle manual show how to call functions - can
> someone show me where I'm going wrong?
> Do I need to set var_return & var_printer_status as OUT variables some
Received on Fri Oct 27 2000 - 10:52:42 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US