Exemplu de utilizarea a tabelelor temporare în T-SQL
Acest exemplu arată modul în care se poate utiliza un tabel temporar în T-SQL. Cu acest exemplu se poate realiza paginarea articolelor rezultate în urma unei căutări simple (din tabela Article de mai jos), de pildă, pe o pagină web.Parametrii procedurii stocate vor primi următoarele valori: parametrul @Search va primi ca valoare textul căutat, parametrul @Page va primi numărul paginii curente iar @RowsPerPage va primi valoarea numărului dorit de înregistrări pe pagină.
Procedura stocată are şi un parametru de ieşire are şi un parametru de ieşire, @NumberOfPages, care returnează numărul total de pagini.
CREATE PROCEDURE spGetPage
@Search NVARCHAR (100),
@Page SMALLINT,
@RowsPerPage DECIMAL,
@NumberOfPages INT OUTPUT
AS
SET NOCOUNT ON
DECLARE @NumberOfRows DECIMAL
--tabelul temporar
CREATE TABLE #Temp (TempID INT IDENTITY (1, 1), [ID] INT, [Name] NCHAR (100), [Description] NVARCHAR (200))
INSERT INTO #Temp
SELECT [ID], [Name], [Description]
FROM Article
WHERE [Name] LIKE @Search + '%'
ORDER BY [Name]
--determinarea numărului de înregistrări
SELECT @NumberOfRows = COUNT (*) FROM #Temp
--calcularea numărului de pagini
SET @NumberOfPages = CEILING (@NumberOfRows / @RowsPerPage)
--selectarea înregistrărilor pentru pagina cerută
SELECT TempID, [ID], [Name], [Description]
FROM #Temp
WHERE TempID
BETWEEN ((@Page - 1) * @RowsPerPage + 1) AND ((@Page - 1) * @RowsPerPage + @RowsPerPage)
--ştergerea tabelului temporar
DROP TABLE #Temp
SET NOCOUNT OFF
RETURN @@ERROR
GO
techit.ro
Colecţia: Exemple de cod
Articolul precedent: Exemplu de utilizare a unei funcţii recursive şi a unui cursor în T-SQL
Articolul următor: Utilizarea unui timer în JavaScript
Spune-ti parerea despre acest articol!
|
|
|
Colecţiile techIT.ro
Căutare după tag:
Topul celor mai citite articole
Spune-ti parerea despre acest articol!