SQL-Anweisungen für Verfolgungsbedingungen

Im Dialogfeld Verfolgungsbedingung können Sie SQL-Anweisungen definieren, um die Netzverfolgung zu steuern. Dafür sind Kenntnisse über SQL und Datenmodelle erforderlich.

Geben Sie die Anweisung direkt ein, oder klicken Sie auf Erstellen, um ein Gerüst einer SQL-Abfrage zu erstellen. Klicken Sie dann auf Assistent, um den SQL-Assistenten zu öffnen.

Kostenfunktion: SQL-Anweisung, die eine Zahl zurückgibt. Die Anweisung kann NULL zurückgeben, wenn die Kosten nicht anwendbar sind. Solche Kosten werden auch als Null-Kosten bezeichnet.

Stopp-Bedingung: SQL-Anweisung, die NULL zurückgibt, wenn die Bedingung nicht angewendet werden kann. In diesem Fall ist das Objekt kein Stoppobjekt. Wenn die Bedingung eine andere Zahl zurückgibt, ist das Objekt ein Stoppobjekt.

Gerüst der SQL-Abfrage

Beschreibung

Beispiel: Versorgungsnetzwerk-Verfolgung mit Stopp-Bedingung

case /* Point */ when &f_class_id=33 then ( select case /* Armature */ when f_class_id_attr=3 then ( select 1 from GA_ARMATURE where fid=ga_point.fid_attr and <CONDITION>) else null end from GA_POINT ga_point where fid=&fid) else null end

Beispiel: Verfolgung von Nicht-Versorgungsnetzwerk mit Stopp-Bedingung

case /* <feature class> */ when &f_class_id=<id> then ( select 1 from <feature class> where fid=&fid and <CONDITION>) else null end

<CONDITION>

Platzhalter in einer Stopp-Bedingung. Wenn Sie die Verfolgung beenden möchten, ersetzen Sie diesen Wert durch das Attribut, das die Informationen enthält. Beispiel: Das Attribut OPEN = YES weist auf offene Armaturen hin.

case /* Point */ when &f_class_id=33 then ( select case /* Armature */ when f_class_id_attr=3 then ( select 1 from GA_ARMATURE where fid=ga_point.fid_attr and not OPEN = 'yes') else null end from GA_POINT ga_point where fid=&fid) else null end

Beispiel: Verfolgung des Versorgungsnetzwerks mit Kostenfunktion

case /* Point */ when &f_class_id=33 then ( select case /* Armature */ when f_class_id_attr=3 then ( select <VALUE> from GA_ARMATURE where fid=ga_point.fid_attr) else null end from GA_POINT ga_point where fid=&fid) else null end

Beispiel: Verfolgung von Nicht-Versorgungsnetzwerk mit Stopp-Bedingung

case /* <feature class> */ when &f_class_id=137 then nvl(( select <VALUE> from <feature class> where fid=&fid ),0) else 0 end

<VALUE>

Platzhalter in einer Kostenfunktion. Ersetzen Sie diesen Wert durch das Kostenattribut, das bei der Verfolgung minimiert werden soll. Beispiel:

PIPE_LENTH

select 1

Hilfsauswahl für eine Stopp-Bedingung, um einen Rückgabewert zu erhalten, der nicht NULL ist, wenn die Bedingungen zutreffen.