Articles of postgresql

Einfügen oder Aktualisieren in Tabelle verletzt Fremdschlüsseleinschränkung

Ich habe zwei Tabellen: Entitätstyp und Projekt . Hier sind die create table-statementen: Create table project ( pname varchar(20) not null, primary key(pname) ); create table entitytype( entityname varchar(20) not null, toppos char(100), leftpos char(100), pname varchar(20) not null, primary key(entityname), foreign key(pname) references project(pname) on delete cascade on update cascade ); Wenn ich versuche, […]

Es konnte kein eindeutiger Index erstellt werden – Ansprüche, doppelte Werte zu haben, tut dies jedoch nicht

Ich versuche, einen eindeutigen Index für das Codefeld zu erstellen: $ CREATE UNIQUE INDEX "one_code_per_person" on "core_person"("code") WHERE "code" IS NOT NULL; ERROR: could not create unique index "one_code_per_person" DETAIL: Table contains duplicated values. Es heißt, es gibt doppelte Werte, aber: $ select code, count(*) from core_person group by code having count(*)>2; code | count […]

SELECT * vs SELECT *

Gestern hat mir ein Kollege die folgende Postgres-Anfrage gezeigt. Wir waren beide überrascht, dass es funktioniert hat: SELECT* FROM mytable; Da ich kürzlich einen Parser für eine andere Sprache SELECT * FROM mytable; versuche ich tiefer zu verstehen, warum diese Abfrage "kompiliert" und die gleichen Ergebnisse liefert wie SELECT * FROM mytable; . Vermutlich wird […]

SQL Wählen Sie alle Zeilen aus, in denen Subsets vorhanden sind

Ich bin sicher, dass es eine Antwort für diese Frage gibt, aber ertragen Sie mit mir, wie ich neu in SQL bin und nicht sicher bin, wie ich die Frage stellen soll. Ich habe solche data (das ist zum Beispiel eine Kurzschrift). Dies ist in einer postgres db. table1 id value 1 111 1 112 […]

RETURN QUERY-Record in PostgreSQL

Ich versuche, eine PostgreSQL-function zu schreiben, die data in die database einfügt und dann einige data empfängt und zurückgibt. Hier ist der Code: CREATE OR REPLACE FUNCTION newTask(projectid api.objects.projectid%TYPE, predecessortaskid api.objects.predecessortaskid%TYPE, creatoruserid api.objects.creatoruserid%TYPE, title api.objects.title%TYPE, description api.objects.description%TYPE, deadline api.objects.deadline%TYPE, creationdate api.objects.creationdate%TYPE, issingletask api.tasks.issingletask%TYPE) RETURNS SETOF api.v_task AS $$ DECLARE v_objectid api.objects.objectid%TYPE; BEGIN INSERT INTO api.objects(objectid, […]

ORDER BY abhängig vom Spaltentyp

Mein Tisch ist wie folgt: a | b —– 1 | a 2 | b In meiner Abfrage möchte ich die order by-Klausel abhängig vom Typ der Spalte ändern. So etwas wie get_data($order_by_column) { …. ORDER BY CASE WHEN is_numeric($order_by_column) THEN $order_by_column ELSE CHAR_LENGTH($order_by_column) END } Ich habe überprüft und es scheint ziemlich schwierig zu […]

Wie beschränke ich eine Auswahl durch eine Summe?

Ich möchte alle billigsten Spielzeuge aus meiner Aktie auswählen, die insgesamt 10,0 USD ausmachen: Das heißt, ich möchte etwas tun, das so aussieht: select * from toy where sum(price) < 10.0 order by price; Was wäre die richtige SQL? Um es klarer zu machen, füge ich ein Beispiel hinzu. Angenommen, ich habe diese Elemente in […]

searchn Sie nach Zeilen mit doppelten Werten in einer Spalte

Ich habe eine Tabelle author_data : author_id | author_name ———-+—————- 9 | ernest jordan 14 | k moribe 15 | ernest jordan 25 | william h nailon 79 | howard jason 36 | k moribe Jetzt brauche ich das Ergebnis als: author_id | author_name ———-+—————- 9 | ernest jordan 15 | ernest jordan 14 | […]

Ändern Sie den datatyp einer Tabellenspalte vom timestempel in bigint

Ich benutze Postgres und ich habe eine Tabelle mit einer Spalte, deren datatyp Timestamp ohne timezone ist. Ich möchte den datatyp in bigint . Ich versuche die Anzahl der Sekunden seit 1970 in der Spalte zu speichern. Also etwas Großes wie 1397597908756 . Ich benutze Python, etwas wie: d = dict() # create a dictionary, […]

Rails – Reihenfolge der Spaltenwerte (Prioritätsspalte)

Ich habe eine Array- priority = ['HIGH', 'MEDIUM', 'LOW'] die verwendet wird, um eine "Dringlichkeits" -databasespalte zu setzen. Ich möchte die data nach Priorität sortiert abrufen, obwohl die Anwendung Task.order(:urgency) die Ergebnisse alphabetisch (dh HIGH, LOW, MEDIUM) zurückgibt. Ich verwende PostgreSQL für die database. Ich würde (offensichtlich) gerne von hoher zu niedriger Priorität zurückkehren. Gibt […]