Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Ambito di Imposta il conteggio delle righe in SQL

Contrariamente alla risposta accettata nella domanda collegata nei commenti per quanto posso vedere, le regole dell'ambito per questo sono esattamente le stesse di quelle per #temp visibilità del tavolo. Si propaga ai batch figlio ma quando il batch esce viene reimpostato sul valore precedente.

CREATE PROC #bar
AS
SELECT * FROM sys.objects
EXEC ('SELECT * FROM sys.objects')
GO

CREATE PROC #foo
AS
SET ROWCOUNT 1

EXEC #bar
GO

SET ROWCOUNT 4
EXEC #foo /*Returns 2 resultsets with 1 row*/
EXEC #bar /*Returns 2 resultsets with 4 rows*/

DROP PROC #foo
DROP PROC #bar