I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
CREATE PROCEDURE st_name @top int AS BEGIN DECLARE @sqlStatement nvarchar(200) SET @sqlStatement = 'select top ' + convert(varchar, @top) + ' [column_names] from [table_name]' EXECUTE sp_executesql @sqlStatement END
Du skal dog være opmærksom på at dette lige pludseligt er blevet til Dynamisk SQL. Det kan være langsomt at få afviklet på SQL Serveren. Hvis du kan nøjes med et fast antal muligheder, f.eks. @top lig med enten 10, 20 eller 100, så undgår du dynamisk SQL, og har derved stadig den gode performance.
I mit tilfælde skulle mulighederne for TOP 2,4,8 være mulige, men istedet for at lave alt muligt kode fiduser, var det lettest at løse opgaven med denne dynamiske SQL procedure.
Den Sommerskog artikellen var ellers godt input :) dog lidt skræmmende...
ja, dynamisk SQL er let. Men det bliver hurtigt noget rod, der giver en utålelig performance. Når man så har 100-vis af dynamiske sql kald, så er det ret træls at skulle i gang. Derfor er det nok bedst at tage tyren ved hornene, og vedtage en kode-standard der undlader brug af Dynamisk SQL. Jeg har iøvrigt flere links om SQL Injection. Det er virkeligt skræmmende hvor mange steder man kan komme ind, bare man kan stave til apostrof.
jeg laver f.eks altid guid check, før databasen kaldes...
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.