/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Problem med affected rows og SQL Server 20~
Fra : Søren Nielsen


Dato : 01-03-02 09:37

Hejsa
Jeg har en stored procedure, som dynamisk opbygger noget SQL, som
skal udføres. Nogenlunde sådan her (gå ikke i detaljer om eksemplet
virker):

declare @sqlstring nvarchar(255)
set @sqlstring = 'update table_yadda set column_yadda = "yadda"'
EXECUTE sp_executesql @sqlstring
print @@ROWCOUNT -- Giver altid nul

Hvordan kan jeg få at vide, hvor mange rækker som er berørt af
opdateringen?
@@ROWCOUNT returnerer altid nul efter udførslen.

Ved at putte dem ind i @sqlstring (se nedenunder) kan jeg aflæse det
"inde" i kaldet, men hvordan får jeg værdien ud til det kaldende script
?

declare @sqlstring nvarchar(255)
set @sqlstring = '
update table_yadda set column_yadda = "yadda"
declare @affectedRows int set @affectedRows = @@ROWCOUNT
'
EXECUTE sp_executesql @sqlstring

På forhånd tak

--
Med venlig hilsen
Søren Nielsen
news@n-crypt.dk



 
 
Peter Lykkegaard (04-03-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 04-03-02 11:53


"Søren Nielsen" <news@n-crypt.dk> wrote in message
news:a5neji$nbp$2@sunsite.dk...
> Hejsa
> Jeg har en stored procedure, som dynamisk opbygger noget SQL, som
> skal udføres. Nogenlunde sådan her (gå ikke i detaljer om eksemplet
> virker):
>
> declare @sqlstring nvarchar(255)
> set @sqlstring = 'update table_yadda set column_yadda = "yadda"'
> EXECUTE sp_executesql @sqlstring
> print @@ROWCOUNT -- Giver altid nul
>
> Hvordan kan jeg få at vide, hvor mange rækker som er berørt af
> opdateringen?
> @@ROWCOUNT returnerer altid nul efter udførslen.
>
Er du sikker på at du ikke har driblet noget "set nocount on" ind i din
T-SQL?

Dit dribler ganske fornuftigt i Query Analyzer'en
Muligvis er det print @@rowcount der driller?

Du kan evt bruge select @@rowcount as NumberOfRowsAffected

Ellers kan det være at du bruger @@rowcount 2 gange?

select @@rowcount as NumberOfRowsAffected
print @@ROWCOUNT -- Giver altid nul

Du kan evt smide @@ROWCOUNT over i en variabel?

mvh/Peter Lykkegaard







Søren Nielsen (04-03-2002)
Kommentar
Fra : Søren Nielsen


Dato : 04-03-02 13:16

"Peter Lykkegaard" <polonline@hot.mail.com> wrote in message
news:zcIg8.45$Cs1.1835@news.get2net.dk...
> [klip]

Tak for svaret.
Af uforklarlige årsager virker det nu. Ved ikke helt hvad der var galt,
men jeg har fiflet med koden siden problemet opstod og nu virker det som
det skal.

--
Med venlig hilsen
Søren Nielsen
news@n-crypt.dk



Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408636
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste