Я могу вызвать хранимую процедуру ORACLE через OCI в программе на C, создав команду SQL для этой команды, вот небольшой фрагмент моего кода:
/* build sql statement calling stored procedure */
strcpy ( sql_stmt, "call get_tab_info(:x)" );
rc = OCIStmtPrepare(p_sql, p_err, sql_stmt,
(ub4) strlen (sql_stmt), (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT);
Но как мне создать вызов (в моей C-программе) для функции ORACLE со следующей сигнатурой:
CREATE OR REPLACE FUNCTION get_seq_number (p_table_name IN VARCHAR2, p_seq_type IN VARCHAR2)
RETURN NUMBER IS
Для вызова функции в PL / SQL я бы использовал, например:
v_seq := get_seq_number(v_tabname, v_seqtype);
Как мне построить массив символов SQL (sql_stmt) для вызова функции ORACLE в моей программе на C?