私はどのようにパラメータを扱うことができる NPOCO PL/SQLのHANDELING OUTパラメータ
CREATE OR REPLACE PROCEDURE procTest (p_param1 varchar2, p_param2 out varchar2)
AS
BEGIN
...
END;
オラクル
にストアドプロシージャをしていますか?ストアドプロシージャと関数について
_db.Execute("EXEC procTest ('dsds')");
私はどのようにパラメータを扱うことができる NPOCO PL/SQLのHANDELING OUTパラメータ
CREATE OR REPLACE PROCEDURE procTest (p_param1 varchar2, p_param2 out varchar2)
AS
BEGIN
...
END;
オラクル
にストアドプロシージャをしていますか?ストアドプロシージャと関数について
_db.Execute("EXEC procTest ('dsds')");
リードはhttp://pocoproject.org/docs-1.5.0/00200-DataUserManual.html
ストアドプロシージャにサポートし、機能
近代的なデータベースシステムのほとんどはストアドプロシージャおよび/または機能をサポートしてサポートしています。 Poco :: Dataはサポートしていますか?あなたは賭ける。 POCO Dataは、正確に可能なもの(具体的には、データのタイプの出入り、自動または手動のデータバインディング、バインディング方向など)は最終的にデータベースに依存しますが、POCO Dataは、 outとioのバインディング関数です。これらの関数の名前が示すように、これらの関数は、ストアドプロシージャに渡すか、またはストアドプロシージャから受け取るパラメータ、またはその両方を実行しています。コードはので、ここでOracleのODBCの例だが、千個の言葉の価値がある:
session << "CREATE OR REPLACE "
"FUNCTION storedFunction(param1 IN OUT NUMBER, param2 IN OUT NUMBER) RETURN NUMBER IS "
" temp NUMBER := param1; "
" BEGIN param1 := param2; param2 := temp; RETURN(param1+param2); "
" END storedFunction;" , now;
int i = 1, j = 2, result = 0;
session << "{? = call storedFunction(?, ?)}", out(result), io(i), io(j), now; // i = 2, j = 1, result = 3
ストアドプロシージャは、(カーソル別名)のデータセットを返すことが許可されています。
typedef Tuple<std::string, std::string, std::string, int> Person;
std::vector<Person> people;
int age = 13;
session << "CREATE OR REPLACE "
"FUNCTION storedCursorFunction(ageLimit IN NUMBER) RETURN SYS_REFCURSOR IS "
" ret SYS_REFCURSOR; "
"BEGIN "
" OPEN ret FOR "
" SELECT * FROM Person WHERE Age < ageLimit; "
" RETURN ret; "
"END storedCursorFunction;" , now;
session << "{call storedCursorFunction(?)}", in(age), into(people), now;
上記のコードはOracleデータベースで動作します。