Har en sp som ska ha två värden
sql = "SP_Test varde1, varde2"
Värde1 = 't3.vet_ej_svar = 0'
Värde2 = deltagare_ny.fraga1 like '%,1,%'
Men det går inte eftersom Värde2 innehåller komman, och då tror han att jag försöker skicka in mer än 2st värden, hur löser jag det! Värde1 och Värde är dynamiska!
Tack på förhand
LarsGMedlem sedan dec. 200012 464 inlägg Det är nog inte , som ställer till det utan '. Du får byta all förekomster mot 2 st (' ')
v1 = replace("'t3.vet_ej_svar = 0'","'","''")
v2 = replace("'deltagare_ny.fraga1 like '%,1,%'","'"',"''")
sql = "execute sp_test " & v1 & "," & v2
mer en 8000 tecken i invariabeln till SP:n
Nu fungerar det! Tack LarsG
Ett problem till bara, mina strängar som skickas in i SP:n är mer en 8000 tecken ibland, vad använder jag för datatyp då??
LarsGMedlem sedan dec. 200012 464 inlägg Du får dela upp det i flera variabler/parametrar när du gör exec
create procedure sydkoreavinnervm (@p1 varchar(8000),@p2 varchar(8000),@p3 varcahr(8000))
as
declare @s1,@s2,@s3 varchar(8000)
set @s1 = 'select ...'
set @s2 = ' where ...'
set @s3 = ' order by ...'
exec(@s1+ @p1 + @s2 + @p2 + @s3 + @p3)
Även om varje enskild variabel är max 8000 tecken så går det att konkatenera ihop dom till en längre sträng. Det blir lite pyssel men det går.
Det finns en datatyp som heter text som rymmer mer än 8000 tecken men den går inte att använda i detta sammanhang.
Vad skulle jag göra utan dig LarsG!
Tack igen!!