Problema select count(*)

venerdì 04 luglio 2008 - 19.49

tarabasch84 Profilo | Junior Member

Ciao ragazzi,
ho un problema con una SP. In pratica vorrei selezionare dei record e contemporaneamente far ritornare come parametro di output della mia SP il numero delle righe selezionate.
Ho provato @@rowcount ma non va bene in quanto mi restituisce il numero complessivo delle righe lette e non di quelle selezionate.
Ho provato con count(*) in questo modo:
select t1.*, @parametro_output = count(*) from (select ......) as t1
ma purtroppo mi da problemi.
Leggendo qua e la probabilmente il "set no count off" potrebbe ritornarmi utile, ma come faccio a leggere il suo valore?
Come potrei risolvere?

Saluti Aldo


Credo che parte della colpa sia di billy...

alx_81 Profilo | Guru

>Ciao ragazzi,
Ciao!

>il numero complessivo delle righe lette e non di quelle selezionate.
cosa significa questa frase "numero complessivo delle righe lette e non di quelle selezionate".

Io farei così:

USE tempdb; GO CREATE PROCEDURE dbo.proc_Conta @Righe int = NULL OUTPUT AS BEGIN SET NOCOUNT ON; CREATE TABLE #tempTable ( ID int IDENTITY PRIMARY KEY CLUSTERED , Nome varchar(30) NOT NULL ) INSERT INTO #tempTable (Nome) VALUES ('Alessandro Alpi') INSERT INTO #tempTable (Nome) VALUES ('Lorenzo Benaglia') INSERT INTO #tempTable (Nome) VALUES ('David De Giacomi') INSERT INTO #tempTable (Nome) VALUES ('Marco Caruso') INSERT INTO #tempTable (Nome) VALUES ('Matteo Raumer') SELECT ID , Nome FROM #tempTable SET @Righe = @@ROWCOUNT END GO DECLARE @Righe int SET @Righe = NULL EXEC dbo.proc_Conta @Righe OUTPUT SELECT Cotenggio = @Righe DROP PROCEDURE dbo.proc_Conta GO
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

tarabasch84 Profilo | Junior Member

Ho risolto facendo come hai suggerito. Pensavo che il @@rowcount restituisse il valore delle righe processate da sqlserver per fare la select!
Una domanda. E' possibile intercettare il valore del set nocout (se inpostato su off) e se soprattutto abbia una utilità impostarlo su off?
Ciao e Grazie


Credo che parte della colpa sia di billy...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5