|
| [MSSQL] Hvordan tæller jeg posterne i en q~ Fra : Stefan Kristensen |
Dato : 31-01-03 11:45 |
|
Hej NG.
Jeg har en stor SELECT:
SELECT en-hel-masse
FROM en-tabel
INNER JOIN mange-tabeller
WHERE NOT EXISTS(SELECT ...)
ORDER BY ...
Så vil jeg gerne vide om der er fundet nogle poster, men @@ROWCOUNT er altid
0?
Jeg kunne selvølgelig kopiere hele select'en ind i en exists, men det virker
lidt voldsomt.
Nogle forslag?
c",)
Stefan
| |
Jens Gyldenkærne Cla~ (31-01-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 31-01-03 12:03 |
|
Stefan Kristensen skrev:
> Så vil jeg gerne vide om der er fundet nogle poster, men
> @@ROWCOUNT er altid 0?
Hvornår (hvor) aflæser du @@ROWCOUNT? Det skal lige umiddelbart
efter den sætning der skal undersøges.
Hvis jeg fyrer SELECT @@ROWCOUNT af umiddelbart efter en select
virker den fint nok.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma
(rettelser modtages gerne i dk.kultur.sprog)
| |
Stefan Kristensen (31-01-2003)
| Kommentar Fra : Stefan Kristensen |
Dato : 31-01-03 12:12 |
|
> Hvornår (hvor) aflæser du @@ROWCOUNT? Det skal lige umiddelbart
> efter den sætning der skal undersøges.
Her er koden. Så vidt jeg kan se, kan rowcount ikke læses tidligere?
-- 310102 created by sak
CREATE PROCEDURE GetOUCodes
@OrgUnit varchar(8),
@Show int OUTPUT
AS
SELECT PA.PackageID, EPA.PackageDescription, PI.ItemID, EPI.Description
ItemDescription, PC.CodeID, EPC.Code, EPC.Description CodeDescription
FROM Packages PA
INNER JOIN EnterprisePackages EPA ON PA.PackageID = EPA.PackageID --
Package Description
INNER JOIN PackageItems PI ON PA.PackageID = PI.PackageID -- Package
Items
INNER JOIN EnterpPackageItems EPI ON PI.ItemID = EPI.ItemID -- Package
Item Description
INNER JOIN PackageCodes PC ON PI.ItemID = PC.ItemID -- Package Codes
INNER JOIN EnterpPackageCodes EPC ON PC.CodeID = EPC.CodeID -- Package
Code Description
WHERE OrgUnit = @OrgUnit AND
NOT EXISTS(
SELECT OrgUnit
FROM RolePackageAccess RPA
WHERE RPA.OrgUnit = @OrgUnit AND
RPA.PackageID = PA.PackageID AND
RPA.ItemID = PI.ItemID
)
ORDER BY PA.PackageID, PI.ItemID, EPC.Code
SET @Show = @@ROWCOUNT
GO
| |
Stefan Kristensen (31-01-2003)
| Kommentar Fra : Stefan Kristensen |
Dato : 31-01-03 12:24 |
|
DOH!
Jeg havde lavet en fejl i programmet, der læser @Show
Stefan
| |
|
|