GlideQueryCondition – Umfang
Der Umfang ist festgelegt GlideQueryCondition API bietet zusätzliche UND Oder ODER Bedingungen, die der aktuellen Bedingung hinzugefügt werden können, sodass Sie komplexe Abfragen erstellen können.
category='hardware' OR category='software' AND priority='2' AND priority='1'Im Fall von AddCondition() , Implizit UND Wird hinzugefügt.
- AddActiveQuery()
- AddInactiveQuery()
- AddJoinQuery()
- AddNotNullQuery()
- AddNullQuery()
- AddQuery()
Wenn ein komplizierter Satz von vorhanden ist UND Und ODER Abfragen, eine einzelne codierte Abfrage, die alle Bedingungen enthält, vereinfacht die Abfrageerstellung. Um die Abfrageerstellung zu vereinfachen, erstellen Sie eine Abfrage in einer Listenansicht, klicken Sie mit der rechten Maustaste auf die Abfrage, und wählen Sie aus Abfrage kopieren . Erstellt eine einzelne codierte Abfragezeichenfolge, um Ihren Ergebnissatz zurückzugeben. Verwenden Sie diese Zeichenfolge als Parameter in AddEncodedQuery() Rufen Sie an.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
GlideQueryCondition – addCondition (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)
Fügt der aktuellen Bedingung eine UND-Bedingung hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| name | Zeichenfolge | Name eines Felds. |
| betrieb | Zeichenfolge | Optional. Der Operator für die Abfrage. Wenn Sie keinen Operator angeben, verwendet die Bedingung einen gleich-Operator. |
| Wert | Objekt | Wert, der abgefragt werden soll. |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Verweis auf eine GlideQueryConditon, die dem Glide-Datensatz hinzugefügt wurde. |
var now_GR = new GlideRecord('incident');
var qc = now_GR.addQuery('category', 'Hardware');
qc.addCondition('category', 'Network');
now_GR.addQuery('number','INC0000003');
now_GR.next();
now_GR.number;
gs.info(now_GR.getEncodedQuery());
GlideQueryCondition – addOrCondition (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)
Hängt einen zwei- oder drei-Parameter ODER eine Bedingung an eine vorhandene GlideQueryCondition an.
AddOrCondition() Funktioniert in Verbindung mit einem der AddQuery() Methoden bis ODER Die angegebenen Abfrageparameter für die zuvor mit erstellte Abfrage AddQuery() .
AddOrCondition() Wird normalerweise mit drei Parametern aufgerufen: Tabellenfeld, Operator und Vergleichswert. Es kann nur mit zwei Parametern aufgerufen werden, dem Tabellenfeld und dem Vergleichswert, z. B. qc.addOrCondition('category', 'Software'); . Der Operator in diesem Fall wird als „gleich“ angenommen.
| Name | Typ | Beschreibung |
|---|---|---|
| name | Zeichenfolge | Feldname |
| betrieb | Zeichenfolge | (Optional) Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter. Nummern:
Zeichenfolgen (muss in Großbuchstaben angegeben werden):
|
| Wert | Objekt | Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet). Hinweis: Alle übergebenen Arrays müssen mindestens zwei Elemente enthalten. Einzelne Element-Arrays werden nicht unterstützt. |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Ein Verweis auf eine GlideQueryConditon, die dem GlideRecord hinzugefügt wurde. |
var now_GR = new GlideRecord('incident');
var qc = now_GR.addQuery('category', 'Hardware');
qc.addOrCondition('category', 'Network');
now_GR.addQuery('number','INC0000003');
now_GR.next();
now_GR.number;
gs.info(now_GR.getEncodedQuery());
Zum Gruppieren UND/ODER von Anweisungen zum Erstellen komplexer Abfragen, z. B. „alle Incidents mit einem (Status kleiner als 3 ODER größer als 5) UND (Priorität ist 1 ODER Priorität 5)
var myObj = new GlideRecord('incident');
var q1 = myObj.addQuery('state', '<', 3);
q1.addOrCondition('state', '>', 5);
var q2 = myObj.addQuery('priority', 1);
q2.addOrCondition('priority', 5);
myObj.query();