PDA

Visualizza la versione completa : [SQL]Oracle 10g express problema query


antony85
07-02-2009, 11:27
salve,sto utilizzando oracle 10g express,volevo chiedere:
dovrei fare una query di inserimento valori inuna tabella,dato ke voglio creare piu tuple a partire dalla stessa query,qual'Ŕ il carattere divisorio tra un'istruzione e un altra?
es.
insert into anagrafica values('pippo','franco')
insert into anagrafica values('peppe','garibaldi')....etcetc
il tutto in un solo blocco di codice,come faccio?

123delphi321
07-02-2009, 11:33
hai provato punto e virgola????



insert into anagrafica values('pippo','franco');
insert into anagrafica values('peppe','garibaldi');


ciao

YuYevon
07-02-2009, 11:43
Se usi la riga di comando puoi creare un semplice script con estensione .sql in cui metti tutte le istruzioni di inserimento una dopo l'altra (ovviamente col ; alla fine), lo salvi in una qualsiasi cartella e poi, dopo esserti loggato, dai il comando

start "percorso_completo_script"

antony85
07-02-2009, 11:43
in oracle express(ke usa come frontend il browser web) non funzionano i ;

antony85
08-02-2009, 10:13
up :(

comas17
08-02-2009, 10:20
Dovrebbe essere qualcosa del tipo

BEGIN
INSERT INTO zip_new
VALUES ('98101', 'WA', 'Seattle');
INSERT INTO zip_new
VALUES ('98004', 'WA', 'Bellevue');
INSERT INTO zip_new
VALUES ('98040', 'WA', 'Mercer Is.');
INSERT INTO zip_new
VALUES ('98072', 'WA', 'Woodinville');
INSERT INTO zip_new
VALUES ('98065', 'CA', 'Los Angeles');
END;

trovato qui: http://www.psoug.org/reference/insert.html

YuYevon
08-02-2009, 10:46
Originariamente inviato da antony85
in oracle express(ke usa come frontend il browser web) non funzionano i ;

Scusa ma che significa che "non funzionano i ;" ? Usi Oracle 10g Express Edition (come hai scritto nel titolo del topic)? Se usi l'interfaccia browser devi scrivere tutte le istruzioni di inserimento (col ; alla fine), evidenziarle e poi cliccare su "run". Ti da qualche errore il sistema?

123delphi321
08-02-2009, 11:50
Originariamente inviato da comas17
Dovrebbe essere qualcosa del tipo

BEGIN
INSERT INTO zip_new
VALUES ('98101', 'WA', 'Seattle');
INSERT INTO zip_new
VALUES ('98004', 'WA', 'Bellevue');
INSERT INTO zip_new
VALUES ('98040', 'WA', 'Mercer Is.');
INSERT INTO zip_new
VALUES ('98072', 'WA', 'Woodinville');
INSERT INTO zip_new
VALUES ('98065', 'CA', 'Los Angeles');
END;

trovato qui: http://www.psoug.org/reference/insert.html

non conosco oracle, ma mi sembra che nel linguaggio SQL la sintassi del comando insert sia:



INSERT INTO nometabella
(campo1,campo2,......)
VALUES
(valore1,valore2,......);

comas17
08-02-2009, 11:56
Originariamente inviato da 123delphi321
non conosco oracle, ma mi sembra che nel linguaggio SQL la sintassi del comando insert sia:



INSERT INTO nometabella
(campo1,campo2,......)
VALUES
(valore1,valore2,......);



Ho messo proprio il link che rimanda a "Oracle Insert Statements"...

YuYevon
08-02-2009, 12:09
E' la stessa cosa... se non si specificano i campi prima di "VALUES" (almeno in Oracle) si sottintende che verranno inseriti valori per tutti i campi della tabella, quindi poi ovviamente se i campi sono N bisogna specificare N valori... altrimenti, si possono dichiarare solo i campi ai quali si vuole assegnare un valore, facendo attenzione che tra questi vi sia anche la chiave primaria e tutti gli altri eventuali attributi per i quali si Ŕ stabilito un vincolo di integritÓ NOT NULL.

In ogni caso, rimane il problema di questi misteriosi ; che non vanno :confused:

Loading