Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    165

    [SQL S. 2005] Copiare dati da una tabella ad un altra di due database diversi

    Ciao a tutti e grazie in anticipo.

    Vi spiego meglio il mio problema.

    Io devo copiare i dati di due tabelle (identiche) che però sono in database diversi e ho fatto cosi:

    codice:
    INSERT INTO U_OLIFI.dbo.MG_ARTBASE
    (cod_art,ind_tiporiga,des_articolo,cod_um,des_articolo_ex,des_ubicazione,cod_reparto,cod_catprovvi,
    cod_tipoomag_ven,cod_iva_ven,cod_tipoomag_acq,cod_iva_acq,cod_linea,cod_gruppostat,cod_catomo,cod_grumerc,
    cod_sgrumerc,cod_nomen_comb,flg_stampa_invent,flg_stampa_schede,sig_prov_origine,cod_naz_origine,
    qta_massa_unit_kg,ind_tipoart,flg_gest_lotti,flg_gest_matr,qta_pes_lordo_kg,qta_pes_netto_kg,dat_inizio_lotti,
    num_gg_approvvig,qta_min_ordin,qta_max_ordin,qta_min_ord_for,num_max_mesi_inv,cod_fornitore,ind_fornitore,
    cod_promozione,des_campo_libero1,des_campo_libero2,des_campo_libero3,des_campo_libero4,des_campo_libero5,
    des_campo_libero6,val_campo_libero7,val_campo_libero8,val_campo_libero9,val_campo_libero10,val_campo_libero11,
    dat_campo_libero12,dat_campo_libero13,ind_valoriz_fis,flg_prz_sca,des_scontrino,num_obsol_prz,
    flg_trasf,qta_scorta_min,qta_scorta_max,qta_lotto_riord,cod_cpart_cos,dat_obsoleto,cod_cpart_ric,
    val_costo_std,flg_vis_ecom,cod_immagine,cod_immagine_small,cod_immagine_large,cod_categ_produz,
    des_caratt,dim_caratt,des_caratt_agg,dim_caratt_agg,num_colli,dim_volume_colli,cod_dep_mov,
    qta_punto_riord,ind_produzione,cod_utente_cre,dat_utente_cre,cod_utente_mod,dat_utente_mod,
    cod_vocecr_cos,cod_centrocr_cos,cod_vocecr_ric,cod_centrocr_ric,flg_gen_mov_cos,flg_gen_mov_ric,
    ind_campo_libero14,ind_campo_libero15,ind_campo_libero16,ind_campo_libero17,ind_campo_libero18,
    des_campo_libero19,des_campo_libero20,des_campo_libero21,des_campo_libero22,ind_imp_comp_db,
    cod_contenitore,qta_contenitore,cod_gencod_lotti,cod_gencod_matri,ind_auto_lotti,ind_auto_matricole,
    cod_disegno_job,cod_pianocontr_job,cod_scheda_tec_job,cod_art_tessuto,
    cod_art_modello,ind_categoria_art,flg_conf_articolo,flg_norap,flg_collezioni,cod_immagine_art,
    ind_trasf_plu,ind_trasf_bilance,prc_ricar_ven,ind_art_st_var_mov,flg_exp_tutti_pv,ind_stato_trasf,
    cod_gencod_diba,flg_som_qta_multid,ind_valorizz_car,cod_listino_car,prc_ricarico_car,ind_tipo_car_val,
    ind_acquisizione,flg_art_ritenute,flg_gest_commesse,flg_bene_usato,cod_natura,cod_qualita,
    flg_no_multidim,cod_tipo_merce,flg_art_cassaprev,ind_tipo_viaggio_a,ind_tipo_viaggio_v,cod_pactur,
    flg_produzione,cod_servizio)
    SELECT cod_art,ind_tiporiga,des_articolo,cod_um,des_articolo_ex,des_ubicazione,cod_reparto,cod_catprovvi,
    cod_tipoomag_ven,cod_iva_ven,cod_tipoomag_acq,cod_iva_acq,cod_linea,cod_gruppostat,cod_catomo,cod_grumerc,
    cod_sgrumerc,cod_nomen_comb,flg_stampa_invent,flg_stampa_schede,sig_prov_origine,cod_naz_origine,
    qta_massa_unit_kg,ind_tipoart,flg_gest_lotti,flg_gest_matr,qta_pes_lordo_kg,qta_pes_netto_kg,dat_inizio_lotti,
    num_gg_approvvig,qta_min_ordin,qta_max_ordin,qta_min_ord_for,num_max_mesi_inv,cod_fornitore,ind_fornitore,
    cod_promozione,des_campo_libero1,des_campo_libero2,des_campo_libero3,des_campo_libero4,des_campo_libero5,
    des_campo_libero6,val_campo_libero7,val_campo_libero8,val_campo_libero9,val_campo_libero10,val_campo_libero11,
    dat_campo_libero12,dat_campo_libero13,ind_valoriz_fis,flg_prz_sca,des_scontrino,num_obsol_prz,
    flg_trasf,qta_scorta_min,qta_scorta_max,qta_lotto_riord,cod_cpart_cos,dat_obsoleto,cod_cpart_ric,
    val_costo_std,flg_vis_ecom,cod_immagine,cod_immagine_small,cod_immagine_large,cod_categ_produz,
    des_caratt,dim_caratt,des_caratt_agg,dim_caratt_agg,num_colli,dim_volume_colli,cod_dep_mov,
    qta_punto_riord,ind_produzione,cod_utente_cre,dat_utente_cre,cod_utente_mod,dat_utente_mod,
    cod_vocecr_cos,cod_centrocr_cos,cod_vocecr_ric,cod_centrocr_ric,flg_gen_mov_cos,flg_gen_mov_ric,
    ind_campo_libero14,ind_campo_libero15,ind_campo_libero16,ind_campo_libero17,ind_campo_libero18,
    des_campo_libero19,des_campo_libero20,des_campo_libero21,des_campo_libero22,ind_imp_comp_db,
    cod_contenitore,qta_contenitore,cod_gencod_lotti,cod_gencod_matri,ind_auto_lotti,ind_auto_matricole,
    cod_disegno_job,cod_pianocontr_job,cod_scheda_tec_job,cod_art_tessuto,
    cod_art_modello,ind_categoria_art,flg_conf_articolo,flg_norap,flg_collezioni,cod_immagine_art,
    ind_trasf_plu,ind_trasf_bilance,prc_ricar_ven,ind_art_st_var_mov,flg_exp_tutti_pv,ind_stato_trasf,
    cod_gencod_diba,flg_som_qta_multid,ind_valorizz_car,cod_listino_car,prc_ricarico_car,ind_tipo_car_val,
    ind_acquisizione,flg_art_ritenute,flg_gest_commesse,flg_bene_usato,cod_natura,cod_qualita,
    flg_no_multidim,cod_tipo_merce,flg_art_cassaprev,ind_tipo_viaggio_a,ind_tipo_viaggio_v,cod_pactur,
    flg_produzione,cod_servizio
    FROM Passaggio.dbo.MG_ARTBASE
    e fin qui ci siamo,
    il problema è che fatta cosi mi dice:
    "IMPOSSIBILE INSERIRE ALCUNI DATI PERCHE DUPLICAZIONE CHIAVE PRIMARIA" ed ha ragione perche nella tabella di destinazione ci sono dei dati che ci sono anche nel sorgente.

    Quindi la mia richiesta è:

    Dovrei dire con un comando SQL di copiare solo quelli che nel database di destinazione non esistono.

    Come faccio ???????

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    165
    GRAZIE PER LA RISPOSTA

    Ora ho provato cosi:

    codice:
    INSERT INTO U_OLIFI.dbo.MG_ARTBASE 
    (cod_art,ind_tiporiga,des_articolo,cod_um,des_articolo_ex,des_ubicazione,cod_reparto,cod_catprovvi,
    cod_tipoomag_ven,cod_iva_ven,cod_tipoomag_acq,cod_iva_acq,cod_linea,cod_gruppostat,cod_catomo,cod_grumerc,
    cod_sgrumerc,cod_nomen_comb,flg_stampa_invent,flg_stampa_schede,sig_prov_origine,cod_naz_origine,
    qta_massa_unit_kg,ind_tipoart,flg_gest_lotti,flg_gest_matr,qta_pes_lordo_kg,qta_pes_netto_kg,dat_inizio_lotti,
    num_gg_approvvig,qta_min_ordin,qta_max_ordin,qta_min_ord_for,num_max_mesi_inv,cod_fornitore,ind_fornitore,
    cod_promozione,des_campo_libero1,des_campo_libero2,des_campo_libero3,des_campo_libero4,des_campo_libero5,
    des_campo_libero6,val_campo_libero7,val_campo_libero8,val_campo_libero9,val_campo_libero10,val_campo_libero11,
    dat_campo_libero12,dat_campo_libero13,ind_valoriz_fis,flg_prz_sca,des_scontrino,num_obsol_prz,
    flg_trasf,qta_scorta_min,qta_scorta_max,qta_lotto_riord,cod_cpart_cos,dat_obsoleto,cod_cpart_ric,
    val_costo_std,flg_vis_ecom,cod_immagine,cod_immagine_small,cod_immagine_large,cod_categ_produz,
    des_caratt,dim_caratt,des_caratt_agg,dim_caratt_agg,num_colli,dim_volume_colli,cod_dep_mov,
    qta_punto_riord,ind_produzione,cod_utente_cre,dat_utente_cre,cod_utente_mod,dat_utente_mod,
    cod_vocecr_cos,cod_centrocr_cos,cod_vocecr_ric,cod_centrocr_ric,flg_gen_mov_cos,flg_gen_mov_ric,
    ind_campo_libero14,ind_campo_libero15,ind_campo_libero16,ind_campo_libero17,ind_campo_libero18,
    des_campo_libero19,des_campo_libero20,des_campo_libero21,des_campo_libero22,ind_imp_comp_db,
    cod_contenitore,qta_contenitore,cod_gencod_lotti,cod_gencod_matri,ind_auto_lotti,ind_auto_matricole,
    cod_disegno_job,cod_pianocontr_job,cod_scheda_tec_job,cod_art_tessuto,
    cod_art_modello,ind_categoria_art,flg_conf_articolo,flg_norap,flg_collezioni,cod_immagine_art,
    ind_trasf_plu,ind_trasf_bilance,prc_ricar_ven,ind_art_st_var_mov,flg_exp_tutti_pv,ind_stato_trasf,
    cod_gencod_diba,flg_som_qta_multid,ind_valorizz_car,cod_listino_car,prc_ricarico_car,ind_tipo_car_val,
    ind_acquisizione,flg_art_ritenute,flg_gest_commesse,flg_bene_usato,cod_natura,cod_qualita,
    flg_no_multidim,cod_tipo_merce,flg_art_cassaprev,ind_tipo_viaggio_a,ind_tipo_viaggio_v,cod_pactur,
    flg_produzione,cod_servizio)
    SELECT TS.cod_art,TS.ind_tiporiga,TS.des_articolo,TS.cod_um,TS.des_articolo_ex,TS.des_ubicazione,TS.cod_reparto,TS.cod_catprovvi,
    TS.cod_tipoomag_ven,TS.cod_iva_ven,TS.cod_tipoomag_acq,TS.cod_iva_acq,TS.cod_linea,TS.cod_gruppostat,TS.cod_catomo,TS.cod_grumerc,
    TS.cod_sgrumerc,TS.cod_nomen_comb,TS.flg_stampa_invent,TS.flg_stampa_schede,TS.sig_prov_origine,TS.cod_naz_origine,
    TS.qta_massa_unit_kg,TS.ind_tipoart,TS.flg_gest_lotti,TS.flg_gest_matr,TS.qta_pes_lordo_kg,TS.qta_pes_netto_kg,TS.dat_inizio_lotti,
    TS.num_gg_approvvig,TS.qta_min_ordin,TS.qta_max_ordin,TS.qta_min_ord_for,TS.num_max_mesi_inv,TS.cod_fornitore,TS.ind_fornitore,
    TS.cod_promozione,TS.des_campo_libero1,TS.des_campo_libero2,TS.des_campo_libero3,TS.des_campo_libero4,TS.des_campo_libero5,
    TS.des_campo_libero6,TS.val_campo_libero7,TS.val_campo_libero8,TS.val_campo_libero9,TS.val_campo_libero10,TS.val_campo_libero11,
    TS.dat_campo_libero12,TS.dat_campo_libero13,TS.ind_valoriz_fis,TS.flg_prz_sca,TS.des_scontrino,TS.num_obsol_prz,
    TS.flg_trasf,TS.qta_scorta_min,TS.qta_scorta_max,TS.qta_lotto_riord,TS.cod_cpart_cos,TS.dat_obsoleto,TS.cod_cpart_ric,
    TS.val_costo_std,TS.flg_vis_ecom,TS.cod_immagine,TS.cod_immagine_small,TS.cod_immagine_large,TS.cod_categ_produz,
    TS.des_caratt,TS.dim_caratt,TS.des_caratt_agg,TS.dim_caratt_agg,TS.num_colli,TS.dim_volume_colli,TS.cod_dep_mov,
    TS.qta_punto_riord,TS.ind_produzione,TS.cod_utente_cre,TS.dat_utente_cre,TS.cod_utente_mod,TS.dat_utente_mod,
    TS.cod_vocecr_cos,TS.cod_centrocr_cos,TS.cod_vocecr_ric,TS.cod_centrocr_ric,TS.flg_gen_mov_cos,TS.flg_gen_mov_ric,
    TS.ind_campo_libero14,TS.ind_campo_libero15,TS.ind_campo_libero16,TS.ind_campo_libero17,TS.ind_campo_libero18,
    TS.des_campo_libero19,TS.des_campo_libero20,TS.des_campo_libero21,TS.des_campo_libero22,TS.ind_imp_comp_db,
    TS.cod_contenitore,TS.qta_contenitore,TS.cod_gencod_lotti,TS.cod_gencod_matri,TS.ind_auto_lotti,TS.ind_auto_matricole,
    TS.cod_disegno_job,TS.cod_pianocontr_job,TS.cod_scheda_tec_job,TS.cod_art_tessuto,
    TS.cod_art_modello,TS.ind_categoria_art,TS.flg_conf_articolo,TS.flg_norap,TS.flg_collezioni,TS.cod_immagine_art,
    TS.ind_trasf_plu,TS.ind_trasf_bilance,TS.prc_ricar_ven,TS.ind_art_st_var_mov,TS.flg_exp_tutti_pv,TS.ind_stato_trasf,
    TS.cod_gencod_diba,TS.flg_som_qta_multid,TS.ind_valorizz_car,TS.cod_listino_car,TS.prc_ricarico_car,TS.ind_tipo_car_val,
    TS.ind_acquisizione,TS.flg_art_ritenute,TS.flg_gest_commesse,TS.flg_bene_usato,TS.cod_natura,TS.cod_qualita,
    TS.flg_no_multidim,TS.cod_tipo_merce,TS.flg_art_cassaprev,TS.ind_tipo_viaggio_a,TS.ind_tipo_viaggio_v,TS.cod_pactur,
    TS.flg_produzione,TS.cod_servizio
    FROM Passaggio.dbo.MG_ARTBASE TS LEFT JOIN U_OLIFI.dbo.MG_ARTBASE TT
    ON  
    TS.cod_art = TT.cod_art
    mi da l'errore della violazione della chiave primaria

  4. #4
    1. credi che qualcuno leggerà mai TUTTA l'istruzione SQL?

    2. l'articolo riporta questo codice per la INSERT

    codice:
    -- TS=TableSource, TT=TableTarget
    INSERT INTO ANAGRAFICHE
         (Denominazione,
          Indirizzo,
          CAP,
          Localita,
          PartitaIVA)
       SELECT
          TS.Denominazione,
          TS.Indirizzo,
          TS.CAP,
          TS.Localita,
          TS.PartitaIVA
       FROM
          #tmpAnag TS LEFT JOIN ANAGRAFICHE TT ON TS.PartitaIVA=TT.PartitaIVA
       WHERE TT.PartitaIVA IS NULL
       -- non fa la JOIN? Quindi NON c'è! ---> INSERT
    e a me sembra che in fondo alla TUA insert manchi

    ... WHERE campo IS NULL


    dai che ce la fai

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    165
    ehm


    lo sai che hai proprio ragione

    ci sono riuscito!!!!!!!!!!!!1

    Grazie mille

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    165
    è proprio il caso di dire:


    OPTIME

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.