Würde es nicht auch so (oder so ähnlich
) funktionieren?
Rüchkgabewert -> Function, oder ist der
IB Dialekt so verschieden von PL/
SQL?
SQL-Code:
CREATE OR REPLACE FUNCTION HelpMe(p_ID
Integer
,p_Owner Varchar2 :=
Null -- optional parameter
,p_Tabelle Varchar2
,p_Feld Varchar2)
RETURN Timestamp
IS
LetzteAenderung
Timestamp;
TableIdent Varchar2(65);
Begin
If p_Owner
Is not Null Then
TableIdent := P_Owner || '
.' || p_Tabelle;
Else
TableIdent := p_Tabelle;
End If;
EXECUTE IMMEDIATE '
SELECT ' || P_FELD || chr(10) ||
'
FROM ' || TableIdent || chr(10) ||
'
WHERE ID = :i_ID'
INTO LetzteAenderung
USING P_ID;
RETURN LetzteAenderung;
EXCEPTION
When No_Data_Found
Then
-- Wenn nix da ist, braucht man auch keinen Fehler ;)
RETURN Null;
End;