insert into BOOK values(&bid, '&title', '&pub', &year);
Ich erhalte eine Fehlermeldung, wenn ich die Abfrage in Oracle 10g laufen, ist dies die Fehlermeldung Ich erhalte:SQL in Oracle 10g
ORA-01008: nicht alle Variablen gebunden
insert into BOOK values(&bid, '&title', '&pub', &year);
Ich erhalte eine Fehlermeldung, wenn ich die Abfrage in Oracle 10g laufen, ist dies die Fehlermeldung Ich erhalte:SQL in Oracle 10g
ORA-01008: nicht alle Variablen gebunden
Standardmäßig behandelt SQL Plus '&' als ein Sonderzeichen, das eine Substitutionszeichenfolge beginnt. Wenn Sie diese Abfrage ausführen, berücksichtigt oracle Gebot, Titel, Pub, Jahr als Bind-Variablen und fordert Sie auf, die Werte für diese Variablen einzugeben. Geben Sie die Werte für sie ein, es ersetzt die Werte und fügt den Datensatz in die Datenbank ein.
Wenn Sie das Standardverhalten machen möchten, können Sie den folgenden Befehl verwenden
SQL> set define off
Sobald Sie auf das Standardverhalten aktivieren möchten verwenden Sie diesen Befehl
SQL> set define on
hoffe, das hilft!
eine Variable hat keinen gültigen Ersatzwert – Frank
Schon vor diesem Fehler haben Sie wahrscheinlich '' title' 'und '& pub' Eingangsvariablen gemeint. Wenn Sie sie in einfache Anführungszeichen setzen, werden sie nicht mehr als Variablen behandelt. Sie brauchen die Anführungszeichen nicht; Wenn Sie Zeichenfolgen für diese beiden Variablen eingeben, werden sie als Zeichenfolgen in Ihre Tabelle eingefügt. Dann: Haben Sie Ihren Variablen tatsächlich irgendwelche Werte gegeben? Wenn Sie nicht wissen, wie Sie das tun sollen, müssen Sie uns mitteilen, welches Front-End Sie verwenden, da sie alle verschiedene Möglichkeiten haben, Variablen Variablen zuzuweisen. Das heißt: Verwenden Sie SQL \ * Plus, SQL Developer, Toad, ...? – mathguy
Fügen Sie die Zeile "SET DEFINE OFF" hinzu, bevor Sie Ihr SQL ausführen. Andernfalls werden Sie nach & title und & pub gefragt, die Konstanten und keine Variablen sind. –