Wie bekomme ich eine Zeile in einer Temp-Variable und Verarbeitung/Verwendung seiner Felder ?? Siehe den Anfang Abschnitt, ich muss Kontoinformationen erhalten, einige Berechnungen, wie ich Wert von Account.field1 - Account.Field2 in accountbalance Methode, wie das zu tun? --Dieser ist AussageKann keine vorbereitete Anweisung/Funktion in Postgres
PREPARE get_account (varchar) AS
SELECT * FROM "Accounts" WHERE "AccountKey" = $1 LIMIT 1;
-- Try to run directly
select EXECUTE(get_account("A200"));
--Created a function and used statement.
CREATE OR REPLACE FUNCTION accountbalance(VARCHAR) RETURNS REAL AS $$
DECLARE
AKey ALIAS FOR $1;
balance REAL;
account RECORD;
BEGIN
account := EXECUTE(get_account("A200"));
--Tried these too
--account := EXECUTE get_account('A200');
--account := EXECUTE get_account("A200");
--I need to get account data here, process, How to get data to a declared variable, how user specific column, May be something like Accounts."Total"..
--I tried to run direct query here and get data to account, but no success so tried prepared statement.
--I will be doing complex calculations here, trying to return a column for test , not sure is it correct?
RETURN account.Actual;
END;
$$ LANGUAGE plpgsql;
--Used function in sql
Select accountbalance('A200');
in beiden Fällen Fehler wie diese zu erhalten.
FEHLER: Spalte "A200" existiert nicht LINE 1: EXECUTE wählen (get_account ("A200")); ^
********** Fehler **********
ERROR: Spalte "A200" existiert nicht SQL-Status: 42703 Charakter: 28
doppelte Anführungszeichen werden für Relationen verwendet, keine Werte –
Sie führen keine vorbereitete Anweisung aus, wenn Sie EXECUTE wählen (get_account ("A200")); '- Sie führen Ihre Funktion aus –
Ich habe alle Optionen ausprobiert, wählen EXECUTE (get_account ('A200')), und wählen Sie EXECUTE (get_account (A200)); –