Offtopic: Für dich, als .Net-Nutzer, gibt es heute abend, spätestens morgen Abend einen weiteren kleinen Vorteil von
FB gegenüber anderen
DB-Managementsystemen.
Kleiner Spoiler:
Eine SProc aus der Employee.fdb:
SQL-Code:
create procedure GET_EMP_PROJ(emp_no smallint)
returns (proj_id char(5))
as
begin
for SELECT proj_id
FROM employee_project
WHERE emp_no = :emp_no
INTO :proj_id do
suspend;
end
Die Entsprechung in .Net (hier Chrome) wäre:
Delphi-Quellcode:
type
[StoredProc('GET_EMP_PROJ')]
GetEmployeeProjectIdSProc = delegate(employeeId : SmallInt) : String;
Und so würde man es einfach ausführen
Delphi-Quellcode:
using connection := new FbConnection(someConnectionString) do
using factory := new StoredProcFactory(connection) do
begin
// .Net 1.1 compliant overload
//var getEmployeeProjectId := factory.GetStoredProc(typeof(GetEmployeeProjectIdSProc)) as GetEmployeeProjectIdSProc;
// generic overload
var getEmployeeProjectId := factory.GetStoredProc<GetEmployeeProjectIdSProc>(CommandReusage.FireAndForget);
connection.Open();
with projectId := getEmployeeProjectId(113) do
Console.WriteLine('ProjectId is {0}', projectId);
end;