


Verwenden Sie VARIADIC-Parameter, um mehrere Werte in einem einzigen Parameter zu übergeben
Erstellen Sie eine Funktion mit VARIADIC-Parametern
Um mehrere Werte an einen einzelnen Parameter zu übergeben, können Sie den Datentyp VARIADIC verwenden. Dadurch können Sie ein Array von Werten für den Parameter angeben. Ändern Sie die folgende Funktion, um einen VARIADIC-Parameter namens job_ids zu akzeptieren:
CREATE OR REPLACE FUNCTION test_var(VARIADIC job_ids int[]) RETURNS TABLE ( job_id int, job_reference int, job_job_title text, job_status text ) AS $$ BEGIN RETURN QUERY SELECT jobs.id, jobs.reference, jobs.job_title, ltrim(right(jobs.status, -2)) AS status -- 使用right()函数改进字符串处理 FROM jobs INNER JOIN company c ON c.id = jobs.id -- 使用INNER JOIN改进查询效率 WHERE jobs."DeleteFlag" = '0' AND c.DeleteFlag = '0' AND c.active = '1' AND (jobs.id = ANY(job_ids) OR job_ids = '{ -1 }') -- 简化条件判断 ORDER BY jobs.job_title; END; $$ LANGUAGE plpgsql;
Funktion mit VARIADIC-Parametern aufrufen
Sie können jetzt die Funktion test_var aufrufen, indem Sie ein Array von Werten an den Parameter job_ids übergeben. Zum Beispiel:
SELECT * FROM test_var('{270, 378}');
Dadurch werden Jobdaten mit den IDs 270 und 378 zurückgegeben.
Funktionsverbesserungen und zusätzliche Vorschläge
Zusätzlich zur Verwendung des Parameters VARIADIC können Sie auch die Funktion right()
in Kombination mit einer negativen Länge verwenden, um Zeichen am Anfang der Zeichenfolge zu kürzen, was schneller und einfacher ist als die Verwendung von substring
.
Stellen Sie außerdem sicher, dass der Datentyp der Spalte DeleteFlag
boolesch und nicht Text ist. Dies gewährleistet einen korrekten Vergleich und Effizienz.
Schließlich demonstriert die in der Antwort bereitgestellte f_test-Funktion eine prägnante SQL-Funktion, die die Verwendung von PL/pgSQL vermeidet und diese Probleme löst. Es wird empfohlen, die geeignete Funktionsimplementierungsmethode basierend auf den tatsächlichen Anforderungen auszuwählen.
Das obige ist der detaillierte Inhalt vonWie kann ich in PostgreSQL mehrere Werte an einen einzelnen Funktionsparameter übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

In Artikeln werden ausländische Schlüssel zur Darstellung von Beziehungen in Datenbanken erörtert, die sich auf Best Practices, Datenintegrität und gemeinsame Fallstricke konzentrieren.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.

Artikel erläutert die Sicherung von MySQL gegen SQL-Injektions- und Brute-Force-Angriffe unter Verwendung vorbereiteter Aussagen, Eingabevalidierung und starken Kennwortrichtlinien (159 Zeichen).


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Dreamweaver CS6
Visuelle Webentwicklungstools

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools