
Zitat von
Chemiker
Erstmal vielen Dank.
Die Abfrage ist soweit richtig, nur möchte ich ja, dass der jeweilige Nutzer der Datenbank sozusagen den WHERE befehl definiert.
Ich möchte ja ungern hunderte Abfragen schreiben, die die Nutzer dann ausführen können. Sondern ich möchte mittels Eingabebox beim Starten der Datenbank den Benutzer bitten z.B. den Fahrzeughersteller einzugeben, welcher dann gesucht werden soll.
Und genau dort hängt es bei mir, da ich keinen Befehl für eine solche Eingabebox mit anschließender Verarbeitung kenne.
SQL kennt sowas nicht. Du brauchst also ein Client-Programm, was das übernimmt. Schnellschuß:
Code:
test=> create table auto (marke text, baujahr int);
CREATE TABLE
test=*> copy auto from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> trabbi 1970
>> vectra 2001
>> \.
test=*> commit;
COMMIT
test=> \q
kretschmer@pegasus:~$ cat frage.sh
#!/bin/sh
echo "Marke:"
read marke
echo "select baujahr from auto where marke='$marke';" | psql test
kretschmer@pegasus:~$ ./frage.sh
Marke:
trabbi
baujahr
---------
1970
(1 row)
kretschmer@pegasus:~$ ./frage.sh
Marke:
vectra
baujahr
---------
2001
(1 row)
Andreas
Lesezeichen