29. april 2002 - 10:58Der er
8 kommentarer og 1 løsning
Update record i stored proc hvor kolonnenavn sendes med som param
Jeg har en stored proc som skal opdatere 50 kolonner. Den skal tage en ad gangen og kolonnerne er navngivet maal_1, maal_2, maal_3 osv. For hver måling opdatere jeg den givne kolonne, men hvilken datatype skal der anvendes for at det accepteres.
Jeg ønsker at kalde min stored procedure med følgende parametre:
@SPC_ID int, @MaalingNr nvarchar(5), @Maalingvaerdi float(8) AS Update "MINTABEL" Set @MaalingNr = @MaalingVaerdi where SPC_Id like @SPC_ID; GO
Hvordan definerer jeg @MaalingNr som dynamisk længde. Hvad betyder + 'erne?, hvis jeg indsætter [' + @MaalingNr + '] som du har skrevet brokker den sig i syntaks.
PS: Maalingnr kan IKKE have dynamisk længde (det kan man ikke i SQL Server), men du kan blot gøre @MaalingNr meget stor, dog max nvarchar(4000) eller varchar(8000). I en forstand er nvarchar(4000) dog dynamisk: Den fylder ikke mere end du "hælder" i den.
Hvorfor skriver du iøvrigt "SPC_ID LIKE @SPC_ID"? Det korrekte ville være "SPC_ID = @SPC_ID" da LIKE benyttes til tekstsammeligning.
Synes godt om
Ny brugerNybegynder
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.