Transact-SQL: SELECT INTO per copiare una tabella
E’ la maniera più veloce per duplicare una tabella, o per creare uan tabella al volo partendo da una select:
SELECT INTO FROM TABELLA1 [WHERE ...]
TABELLA2
viene creata automaticamente se non esiste.
Un esempio:
CREATE TABLE VENDITE (AGENTE VARCHAR(20), PRODOTTO VARCHAR(20), PAESE VARCHAR(20), QUANTITA INT)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'PS3', 'ITALIA', 20)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'PS3', 'SPAGNA', 30)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'PS3', 'FRANCIA', 10)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'PS3', 'GERMANIA', 15)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'WII', 'ITALIA', 10)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'WII', 'SPAGNA', 25)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'WII', 'INGHILTERRA', 8)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'WII', 'GERMANIA', 35)
SELECT * INTO VENDITE_ITALIA FROM VENDITE WHERE PAESE = 'ITALIA'
Un’altra maniera per fare la stessa cosa è:
CREATE TABLE VENDITE_ITALIA (AGENTE VARCHAR(20), PRODOTTO VARCHAR(20), PAESE VARCHAR(20), QUANTITA INT)
INSERT INTO VENDITE_ITALIA SELECT * FROM VENDITE WHERE PAESE = 'ITALIA'
Leave a Reply