Toon posts:

[Stored procedure] top instellen

Pagina: 1
Acties:

Verwijderd

Topicstarter
met behulp van een stored procedure wil ik de top van mijn query instellen
code:
1
2
3
4
5
6
7
8
9
10
11
CREATE PROCEDURE dbo.ldn_SELECT_Nieuws_Headers
    @count int,
    @errorCode int OUTPUT   
    
AS

SELECT 
    TOP @count ST_Nieuws.atoomID, 
    ST_Nieuws.titel
FROM
    ST_Nieuws


echter dit mag niet, heeft iemand een idee of dit wel kan? zonder de query te executen?

  • Equator
  • Registratie: April 2001
  • Laatst online: 14-05 10:00

Equator

Crew Council

🦺#Rodekruis #whisky #barista

Dit is dynamische SQL, en dat staat een SP niet zondermeer toe:
Je kan je query eerst in een string creeren, en daarna de string executen.:
Zoiets dus:

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE PROCEDURE dbo.ldn_SELECT_Nieuws_Headers
    @count int,
    @errorCode int OUTPUT    
    
AS
Declare @strSQL
@strSQL = '
SELECT 
    TOP ' + @count + ' ST_Nieuws.atoomID, 
    ST_Nieuws.titel
FROM
    ST_Nieuws'

Execute strSQL


Ik heb de syntax niet gecontroleerd, maar je snapt denk ik wel wat ik bedoel.

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Beetje offtopic, maar moet je niet een ORDER BY toevoegen? Een TOP zonder ORDER BY is een beetje zinloos imo.

Je kunt het ook nog zo doen:

code:
1
2
3
4
5
6
7
declare @c int
SET @c = 10 
SET rowcount @c 

SELECT * FROM Tabel ORDER BY...

SET rowcount 0 --uitzetten


Kijk wel even in BooksOnline voor de verschillen met TOP

Oops! Google Chrome could not find www.rijks%20museum.nl