Stored Procedure: errore di conversione

di il
3 risposte

Stored Procedure: errore di conversione

Ciao a tutti!
Spero possiate aiutarmi con il mio problema.

Ho due database db1 e db2.
In db1, al'interno della tabella Tab1, ho una chiave ID1 di tipo nchar(100).
In db2, al'interno della tabella Tab2, ho una chiave ID2 di tipo nchar(100).

Io ho bisogno di inserire il valore contenuto in ID2 nel campo ID1. Per fare ciò ho creato una Stored Procedure con il codice seguente:

INSERT INTO db1.dbo.Tab1(ID1)
SELECT ID2
FROM db2.dbo.Tab2

Nel momento in cui vado a eseguire la Stored Procedure, mi viene generato questo errore:

"Conversion failed when converting from a character string to uniqueidentifier".

Non capisco cosa debba convertire, visto che le chiavi sono dello stesso tipo, pertanto non risco a capire cosa devo andare a modificare.

PS -> ho altri campi all'interno della tabella, ma ho provato a far importare alla stored procedure solo il campo chiave per vedere se potesse essere quello il problema.

3 Risposte

  • Re: Stored Procedure: errore di conversione

    Ciao golle83, stai cercando di accodare e forzare nella tabella db1.dbo.Tab1 la chiave primaria definita immagino come identity.... non puoi farlo.

    Se vuoi accodare i record in questo modo devi disattivare l'indice in questione altrimenti se vuoi fare una sorta di copia di backup delle tabelle puoi fare cosi:
    SELECT *
    INTO nuova_tabella [IN database_esterno]
    FROM vecchia_tabella
  • Re: Stored Procedure: errore di conversione

    Nessuna delle due chiavi è definita come identity.

    In realtà non è un backup della tabella, devo inserire i dati in una tabella dove ne sono già presenti altri.
  • Re: Stored Procedure: errore di conversione

    Ciao il campo in questione è una GUID giusto?

    prova allora a fare il cast a uniqueidentifier:
    
    SELECT cast(ID2 as uniqueidentifier) as ID2
    FROM db2.dbo.Tab2
    
Devi accedere o registrarti per scrivere nel forum
3 risposte