Avatar billede DonDaase Novice
10. juli 2016 - 20:29 Der er 4 kommentarer og
1 løsning

Indsætte data i SQL DB

Hej

Jeg et SQL udtræk der i bund og grund skiller et semikolon separeret felt til flere poster.

Det data jeg udtrækker vil jeg gerne have indsat i en anden tabel ("Stamdata_IAI_AfvigMat") i felterne ("Materialeseddel_Ny", "Dataset_Ny" og "DataItem_Ny"). Jeg har forsøgt at bruge "INSERT INTO..." men jeg synes ikke jeg kan få den snørklet rigtigt". Kan nogen give et bud?

Udtrækket:

;
WITH tmp (
    Materialeseddel
    ,Dataset
    ,DataItem
    ,Bundtnummer
    )
AS (
    SELECT Materialeseddel
        ,Dataset
        ,CONVERT(VARCHAR(254), LEFT(Bundtnummer, CHARINDEX(';', Bundtnummer + ';') - 1))
        ,CONVERT(VARCHAR(254), STUFF(Bundtnummer, 1, CHARINDEX(';', Bundtnummer + ';'), ''))
    FROM Tmp_IAI_Afvigmat
   
    UNION ALL
   
    SELECT Materialeseddel
        ,Dataset
        ,CONVERT(VARCHAR(254), LEFT(Bundtnummer, CHARINDEX(';', Bundtnummer + ';') - 1))
        ,CONVERT(VARCHAR(254), STUFF(Bundtnummer, 1, CHARINDEX(';', Bundtnummer + ';'), ''))
    FROM tmp
    WHERE Bundtnummer > ''
    )
SELECT Materialeseddel
    ,Dataset
    ,DataItem
FROM tmp
ORDER BY Materialeseddel
Avatar billede arne_v Ekspert
10. juli 2016 - 20:43 #1
Var det ikke langt nemmere at lave i dit favorit programmerings sprog?

(C#, Java, PHP, VBS etc.)
Avatar billede arne_v Ekspert
10. juli 2016 - 20:45 #2
Jeg har aldrig brugt den sammen med WITH, men maaske:

INSERT INTO dinnyetabel SELECT Materialeseddel
    ,Dataset
    ,DataItem
FROM tmp
Avatar billede DonDaase Novice
10. juli 2016 - 21:27 #3
@Arne_v - selvfølgelig. Tak for hjælpen.
Svar på spørgsmål. Fordi det hele af det jeg har gang i skal foregå på SQL serveren.
Avatar billede Slettet bruger
13. juli 2016 - 21:45 #4
Eller en select into hvis det er en engangs indlæsning
Avatar billede arne_v Ekspert
16. juli 2016 - 05:07 #5
Jeg mener at INSERT SELECT er mere standard end SELECT INTO. Men da ovenstaaende SQL nok allerede er SQLServer specifik er det ikke et problem.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester