Stored Procedures statt Tables oder Views
2 posts
• Page 1 of 1
Stored Procedures statt Tables oder Views
Können im JVx Framework anstatt Datenbank-Tabellen und Views auf Stored Procedures verwendet werden, die Resultsets zurückliefern?
z.B: CREATE OR REPLACE FUNCTION fkt() RETURNS refcursor AS ...
Wenn ja, wie können die Input-Parameter übergeben werden?
z.B: CREATE OR REPLACE FUNCTION fkt() RETURNS refcursor AS ...
Wenn ja, wie können die Input-Parameter übergeben werden?
- johnit
- Posts: 45
- Joined: Fri Nov 16, 2012 5:58 pm
Re: Stored Procedures statt Tables oder Views
Wir haben ähnliches mit Oracle bereits verwendet. Dort haben wir fast immer eine View erstellt, die auf eine Stored Procedure selektiert. Damit die SPs in Views verwendet werden konnten, mussten Types erstellt werden, z.B.:
Eine Function:
View:
Die Parameter befüllten wir mit Session Parametern, der Oracle Datenbank.
Wir haben die From Clause auch direkt in der Middleware (DBStorage) gesetzt, allerdings ohne parametrisierte Werte. JVx ist in dieser Hinsicht sehr flexibel.
- Code: Select all
create or replace type TYPE_ZAHLV_RECHNUNGEN as object
(
TI_ID VARCHAR2(128),
IN_ID NUMBER,
STATUS_ID NUMBER(18),
STATUS VARCHAR2(40),
STATUS_KEY VARCHAR2(3),
)
create or replace type TABLE_ZAHLV_RECHNUNGEN as TABLE OF TYPE_ZAHLV_RECHNUNGEN
Eine Function:
- Code: Select all
FUNCTION GETRECHNUNGEN(pTId IN VARCHAR2, pDateFrom IN DATE, pDateTo IN DATE) RETURN table_zahlv_rechnungen IS
vRechnung table_zahlv_rechnungen := table_zahlv_rechnungen();
BEGIN
…
RETURN vRechnung;
END;
View:
- Code: Select all
SELECT * FROM TABLE(CAST(getRechnungen(?, ?, ?) AS table_zahlv_rechnungen))
Die Parameter befüllten wir mit Session Parametern, der Oracle Datenbank.
Wir haben die From Clause auch direkt in der Middleware (DBStorage) gesetzt, allerdings ohne parametrisierte Werte. JVx ist in dieser Hinsicht sehr flexibel.
-
Support@SIB - Posts: 353
- Joined: Mon Sep 28, 2009 1:56 pm
2 posts
• Page 1 of 1