Ich habe über verschiedene UPSERTImplementierungen in PostgreSQL gelesen , aber alle diese Lösungen sind relativ alt oder relativ exotisch ( z. B. mit beschreibbarem CTE ). Und ich bin überhaupt kein psql-Experte, der sofort herausfindet, ob diese Lösungen alt sind, weil sie gut empfohlen werden oder (na ja, fast alle …
Ich habe einen Tabellentest mit Spalten-ID, die den Primärschlüssel und automatisch erhöht und benennt. Ich möchte nur dann einen neuen Datensatz einfügen, wenn keine Datensätze vorhanden sind. Zum Beispiel Eingabe ist id = 30122 und name = john Wenn es Datensätze mit der ID 30122 gibt, habe ich die Namensspalte …
Diese Frage wurde von Stack Overflow migriert, da sie in Stack Exchange für Datenbankadministratoren beantwortet werden kann. Vor 3 Jahren migriert . Ich habe eine Tabelle tagmit 2 Spalten: id(UUID) und name(Text). Ich möchte jetzt ein neues Tag in die Tabelle einfügen, aber wenn das Tag bereits vorhanden ist, möchte …
Gegeben: CREATE TABLE A ( PK_A INT8 NOT NULL, A INT8, PRIMARY KEY (PK_A) ); CREATE TABLE B ( PK_B INT8 NOT NULL, B INT8, PRIMARY KEY (PK_B) ); Diese Abfrage: insert into table_b (pk_b, b) select pk_a,a from table_a on conflict (b) do update set b=a; verursacht den folgenden …
Ich verwende PostgreSQL als meine Datenbank. Und ich muss einen Eintrag in der Datenbank erstellen, und wenn er bereits vorhanden ist, aktualisieren Sie einfach seine Felder, aber eines der Felder sollte nur aktualisiert werden, wenn es nicht festgelegt ist. Ich habe Informationen aus dieser Frage verwendet: /programming/13305878/dont-update-column-if-update-value-is-null , es hängt …
Es ist schwer zu sagen, was hier gefragt wird. Diese Frage ist mehrdeutig, vage, unvollständig, zu weit gefasst oder rhetorisch und kann in ihrer gegenwärtigen Form nicht angemessen beantwortet werden. Hilfe zur Klärung dieser Frage, damit sie erneut geöffnet werden kann, erhalten Sie in der Hilfe . Geschlossen vor 7 …
Ich habe ein Problem mit der Verwendung der neuen UPSERT-Funktion in Postgres 9.5 Ich habe eine Tabelle, die zum Aggregieren von Daten aus einer anderen Tabelle verwendet wird. Der zusammengesetzte Schlüssel besteht aus 20 Spalten, von denen 10 nullwertfähig sein können. Unten habe ich eine kleinere Version des Problems erstellt, …
Ich versuche, eine Tabelle mit einem Array von Werten zu aktualisieren. Jedes Element im Array enthält Informationen, die mit einer Zeile in einer Tabelle in der SQL Server-Datenbank übereinstimmen. Wenn die Zeile bereits in der Tabelle vorhanden ist, aktualisieren wir diese Zeile mit den Informationen im angegebenen Array. Andernfalls fügen …
Ich stoße auf ein Deadlock-Szenario, bei dem die einzigen Teilnehmer am Deadlock eine einzelne Tabelle und eine einzelne gespeicherte Prozedur zu sein scheinen, die aus dieser Tabelle gelöscht wird. Ich habe diese Schlussfolgerung auf der Grundlage meiner Analyse des SQL-Fehlerprotokolls zum Zeitpunkt mehrerer dieser Deadlocks gezogen, wobei ich den folgenden …
Haben Sie einen Tisch wie diesen: CREATE TABLE aggregated_master ( "user" BIGINT, type TEXT, date TIMESTAMP, operations BIGINT, amount NUMERIC, PRIMARY KEY ( "user", type, date ) ); Diese Tabelle ist der Master, von dem viele Partitionen erben. Die Partitionen werden bis MONAT im Feld DATUM ausgeführt. Beispiel: Partition für …
Ich verstehe nicht, was Craig Ringer meinte, als er kommentierte: Diese Lösung kann verloren gehen, wenn die Einfügetransaktion zurückgesetzt wird. Es wird nicht überprüft, ob das UPDATE Zeilen betrifft. unter https://stackoverflow.com/a/8702291/14731 . Bitte geben Sie eine Beispielsequenz von Ereignissen an (z. B. Thread 1 macht X, Thread 2 macht Y), …
Ich habe einen Webdienst (http api), mit dem ein Benutzer eine Ressource in Ruhe erstellen kann. Nach der Authentifizierung und Validierung übergebe ich die Daten an eine Postgres-Funktion und erlaube ihr, die Autorisierung zu überprüfen und die Datensätze in der Datenbank zu erstellen. Ich habe heute einen Fehler gefunden, als …
Ich habe eine Funktion in PostgreSQL 9.1 aufgerufen fun_test. Es hat einen zusammengesetzten Typ als Eingabeparameter und ich erhalte immer wieder einen Casting-Fehler, wenn ich ihn aufrufe. CREATE OR REPLACE FUNCTION netcen.fun_test(myobj netcen.testobj) RETURNS boolean AS $BODY$ DECLARE tmp_code smallint; cur_member refcursor; BEGIN -- Check if the member exists first …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.