![]() |
Datenbank: PostgreSQL • Version: 8.2. • Zugriff über: egal
PostgresQL: SELECT wird in einer Transaction unterdrückt
Hi
Ich spiel grad mit Postgres herum:
SQL-Code:
Ich erwarte irgend eine Ergebnismenge. Leider kommt stattdessen
begin transaction;
insert into test (name) values ('Foo'); select * from test; rollback transaction; Zitat:
Kann mir jemand verraten, wie man das einstellt? |
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Hallo alzaimar,
was passiert eigentlich, wenn du COMMIT statt ROLLBACK verwendest? Freundliche Grüße |
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Wo führst du die Anweisungen aus (Delphi-Komponente) bzw. mit welchen Methoden (Bei Delphi-Kompos: Open bzw. ExecSQL)?
|
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Hallo Bernhard,
ich weiß jetzt nicht wie ich drauf komme, aber ich glaube alzaimar verwendet pgAdmin3 und keine Komponenten - ich kann mich aber auch täuschen. Freundliche Grüße |
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Hallo marabu, Hallo Bernhard,
Bei einem 'Commit' passiert das Gleiche (natürlich wird die Zeile eingefügt), aber die Anzeige wird unterdrückt... :gruebel: |
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Hallo alzaimar,
INSERT fügt einen (wahrscheinlich den allerersten) Datensatz in die Tabelle TEST ein, SELECT baut innerhalb der Transaction einen Cursor, dessen einziger Datensatz noch nicht committed wurde. Postgres arbeitet mit READ COMMITTED. Der mit SELECT aufgesetzte Cursor darf den gefundenen Datensatz nicht zeigen, deshalb "result with 1 rows discarded". Ein COMMIT nach dem INSERT und die Meldung sollte verschwinden. Freundliche Grüße |
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Hallo marabu,
Die Tabelle ist bereits befüllt. Ich verwende die Technik der Transaktionskapselung mit einem Rollback, um SQL-Skripte zu testen, ohne die Daten dabei zu verändern. Das funktioniert unter MSSQL einwandfrei, nur mit Postgres scheint es Probleme zu geben. |
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Zitat:
Probier mal die Anweisungen einzeln Auszuführen. Die Transaktion ist ja an deine Connection gebunden und solange das Tool nicht nach jeder Anweisung die Verbindung trennt bekommst du das gleiche Ergebnis. |
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Ein Rollback beendet die Transaktion und verwirft implizit alle Ergebnisse der Transaktion. Wenn du das Rollback auslässt, bleibt das Ergebnis das selbe (die Transaktion wird einem Rollback unterzogen, da kein Commit auftrat), aber du wirst deine Ergebnismenge zu gesicht bekommen.
|
Re: PostgresQL: SELECT wird in einer Transaction unterdrückt
Zitat:
Zitat:
Fazit: Ich benötige ein Postgres-Query-Tool, das mehrere Ergebnismengen anzeigen kann. Na, zur not eben selbst schreiben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz