Definieren von komplexen horizontalen Filtern

In einigen Situationen der Datenbank- und Benutzerverwaltung ist es erforderlich, im Feld Zeilenuntermenge für einzelne Benutzer eine komplexe SQL-Klausel WHERE zu definieren, um die Zeilen, die eine Gruppe oder ein Benutzer anzeigen kann, einzuschränken. Bei der Definition der Filter können Sie auf eine Tabelle in der Spiegeldatenbank zurückgreifen, Parameter für die Gruppe oder den Benutzer verwenden oder auch eine Kombination dieser beiden Methoden anwenden. Die grundlegenden Schritte zum Erstellen eines einfachen horizontalen Filters sind in Filtern von Daten auf Subskriptionsebene erläutert.

DB2 Everyplace Sync Server enthält eine Untermenge für die standardmäßige SQL-WHERE-Implementierung, die für die Filter verwendet werden kann. Informationen zur Syntax der Untermenge finden Sie in Syntax für Filter.

Im folgenden Beispiel wird dargestellt, wie Sie auf andere Tabellen in der Spiegeldatenbank zurückgreifen und einen Parameter für das horizontale Filtern verwenden können.

Angenommen, Sie verwalten zwei Tabellen mit den Namen "PLZTab" und "Unternehmen", die sich beide in der Spiegeldatenbank befinden. "PLZTab" enthält die Postleitzahlen einiger Städte (siehe Tabelle 208), während die Tabelle "Unternehmen" einige Unternehmen und deren Postleitzahlen enthält (siehe Tabelle 209). Nun sollen Benutzer in Stuttgart nur die Unternehmen in der eigenen Stadt anzeigen können. Sie haben eine Gruppe erstellt und ihr diese Benutzer zugeordnet.


Tabelle 208. Tabelle "PLZTab"

Stadt Postleitzahl
Stuttgart 70565
Stuttgart 70563
Berlin 82008

Tabelle 209. Tabelle "Unternehmen"

Unternehmen Postleitzahl
IBM 70565
Unternehmen 1 70563
Unternehmen 2 82008
Unternehmen 3 91052

Nun geben Sie in das Feld Zeilenuntermenge für einzelne Benutzer auf der Seite Zeilen folgende Klausel ein:

(postleitzahl) IN (SELECT postleitzahl FROM PLZTab WHERE Stadt = ':fcity')

Dabei ist :fcity ein Parameter für den Wert der Spalte "Stadt", der für die Gruppe auf Stuttgart gesetzt wurde.

Anschließend vervollständigen und schließen Sie das Notizbuch Subskription erstellen. Nach der Synchronisation sehen die Benutzer folglich in der Tabelle "Unternehmen" auf ihren Geräten nur die folgenden Zeilen:

Tabelle 210. Zeilen, die Benutzer auf ihren Geräten sehen

Unternehmen Postleitzahl
IBM 70565
Unternehmen 1 70563

Zugehörige Tasks

Zugehörige Referenzen