Example - Using variables

Top  Previous  Next

次のサンプルは入力・出力変数と共にPL/SQLブロックを使っています。Employeeemp テーブルに挿入された時、SetVariableを使ってnamesalaryは入力変数としてクエリーに渡されます。クエリーは、Oracleシークエンスによって生成され、GetVariableを呼ぶことで取得されるemployee(empno)の数を返します。

// InsertQuery.SQL =

// begin

//   select empsequence.nextval into :empno from dual;

//   insert into emp (empno, ename, sal)

//   values (:empno, :ename, :sal);

//   commit;

// end;

try

with InsertQuery do

begin

   SetVariable('ENAME', Emp.EName);

   SetVariable('SAL',   Emp.Sal);

   Execute;

   Emp.EmpNo := GetVariable('EMPNO');

end;

except

on E:EOracleError do ShowMessage(E.Message);

end;

 

変数を使う最も簡単な方法は、設計時にTOracleQueryコンポーネントのVariablesプロパティを通じてそれらを宣言することです。現存する変数を処理するためにDeleteVariablesを、新しいものを宣言するためにDeclareVariableを使って変数を宣言することも可能です:

with InsertQuery do

begin

DeleteVariables;

DeclareVariable('ENAME', otString);

DeclareVariable('SAL',   otFloat);

DeclareVariable('EMPNO', otInteger);

...

end;