Einzelnen Beitrag anzeigen

Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
599 Beiträge
 
Delphi XE6 Enterprise
 
#6

AW: Wie user-abhängige Daten an View übergeben

  Alt 19. Jun 2017, 10:07
Eine SP bringt mich hier auch nicht weiter, weil diese ja auch nicht an den Wert rankommt, oder?
Einer SP kannst Du Parameter übergeben! Ist ein bisschen umständlich, geht aber noch: alle Eingabeparameter werden über die Pseudotabelle __input übergeben und alle Ausgabeparameter über __output. Das sieht dann ungefähr so aus:

Code:
CREATE PROCEDURE test ( 
  UserID INTEGER,
  erstespalte CHAR (10) OUTPUT,
  zweitespalte DATE OUTPUT,
  ...
)
BEGIN
  DECLARE @input CURSOR AS SELECT * FROM __input;
  OPEN @input;
  FETCH @input;

  INSERT INTO __output
  SELECT erstespalte, zweitespalte FROM blablubb
  WHERE UserID = @input.UserID;

  CLOSE @input;
END;
Aufgerufen wird es z.B. so:

SELECT * FROM (EXECUTE PROCEDURE test(:user)) x

oder auch

SELECT * FROM (EXECUTE PROCEDURE test(4711)) x

(Hinweis zu "x": die durch EXECUTE PROCEDURE abgerufene "Tabelle" muss einen Namen haben)

Geändert von Frickler (19. Jun 2017 um 10:11 Uhr)
  Mit Zitat antworten Zitat