Avatar billede decrypto Nybegynder
25. marts 2006 - 15:20 Der er 9 kommentarer

T-SQL: Returner felt so true, hvis der er resultat

Jeg har behov for at eksekvere en stored proc, der returnerer et felt som true, hvis der er resultat, og false hvis der ikke er nogen poster.

Leder efter det på nettet, men ikke rigtigt noget eksempel på lige det jeg kigger efter.

Nogen herinde, der lige har syntaksen på sig?
Avatar billede arne_v Ekspert
25. marts 2006 - 21:57 #1
jeg er meget i tvivl om hvad du vil have

men her er et bud som returnerer 2 result set - det sidste angiver om
der er noget i det første

CREATE PROCEDURE twors AS
SELECT * FROM t1
IF @@ROWCOUNT > 0
  SELECT 1
ELSE
  SELECT 0
GO
Avatar billede Slettet bruger
26. marts 2006 - 07:13 #2
Ville nok foretrække en output parameter som vist nedenfor, men det er en smagssag, og selvfølgelig skal nedenstående ikke realiserer to recordsets på klienten.


CREATE PROCEDURE selectStatus (@results bit OUTPUT) AS

SELECT * FROM t1
IF 0 < @@ROWCOUNT BEGIN
SET @results = 1
END ELSE BEGIN
SET @results 0
END
Avatar billede Slettet bruger
26. marts 2006 - 07:14 #3
Smuttede et =


CREATE PROCEDURE selectStatus (@results bit OUTPUT) AS

SELECT * FROM t1
IF 0 < @@ROWCOUNT BEGIN
SET @results = 1
END ELSE BEGIN
SET @results = 0
END
Avatar billede jens_klinting Nybegynder
26. marts 2006 - 17:02 #4
Jeg ville nok overveje at lave det som en UDF istedet:

CREATE FUNCTION [dbo].[HasRows] () 
RETURNS BIT AS 
BEGIN
  DECLARE @Result BIT
  IF (EXISTS (SELECT * FROM t1))
    SET @Result = 1
  ELSE
    SET @Result = 0
  RETURN @Result
END

Om det er smartere afhænger af brugsscenariet.

// Jens
Avatar billede arne_v Ekspert
05. april 2006 - 03:29 #5
decrypto ?
Avatar billede decrypto Nybegynder
11. maj 2006 - 15:19 #6
Smid svar ind :o)
Avatar billede arne_v Ekspert
11. maj 2006 - 15:32 #7
hvem ?

eller hvad ? (result set / output parameter / function)
Avatar billede decrypto Nybegynder
12. maj 2006 - 10:03 #8
Jeg fik klaret den..på en anden måde vist..
Avatar billede arne_v Ekspert
12. maj 2006 - 13:22 #9
så tag selv point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester