je stocke des données dans la table temporaire « #tempQuantity » à condition différente en utilisant la déclaration else if
comme ci-dessousComment créer la même table temporaire dans l'instruction ELSE IF dans SQL Server?
IF(@GroupKey = 1)
BEGIN
SELECT
ItemID,
StoreID,
sum(Qty) Quantity,
sum(ExtendedPrice) ExtendedPrice,
sum(ExtendedCost) ExtendedCost
into #tempQuantity
FROM
dbo.F_ItemDailySalesParent
WHERE
((@DateFrom is null) or (Time>[email protected])) and ((@DateTo is null) or (Time<[email protected]))
GROUP BY ItemID,StoreID
END
ELSE IF(@GroupKey = 2)
BEGIN
SELECT
Year(Time),
ItemID,
StoreID,
sum(Qty) Quantity,
sum(ExtendedPrice) ExtendedPrice,
sum(ExtendedCost) ExtendedCost
into #tempQuantity
FROM
dbo.F_ItemDailySalesParent
WHERE
((@DateFrom is null) or (Time>[email protected])) and ((@DateTo is null) or (Time<[email protected]))
GROUP BY Year(Time),ItemID,StoreID
END
ELSE
BEGIN
SELECT
Year(Time),
DATEPART(WEEK,Time),
ItemID,
StoreID,
sum(Qty) Quantity,
sum(ExtendedPrice) ExtendedPrice,
sum(ExtendedCost) ExtendedCost
into #tempQuantity
FROM
dbo.F_ItemDailySalesParent
WHERE
((@DateFrom is null) or (Time>[email protected])) and ((@DateTo is null) or (Time<[email protected]))
GROUP BY Year(Time),DATEPART(WEEK,Time),ItemID,StoreID
END
Tout exécuter cette Alter stored procedure
, il jette l'erreur « Il existe déjà un objet nommé « #tempQuantity » dans le base de données."
Je comprends l'erreur. Mais il ne créera pas 2 table de temp en même temps. Alors pourquoi ça jette. Alors, comment puis-je créer table temporaire comme celui-ci
Remarque
Je ne pouvais pas laisser tomber aussi, avant qu'il table de création dans le deuxième ELSE IF Déclaration
s'il vous plaît lire ma question correctement. J'insère l'enregistrement dans 'if else statement', Il jette une erreur de compilation ** Il y a déjà un objet dans la base de données **. Si autre instruction exécuter l'enregistrement une seule fois, pas plusieurs fois –
Je ne suis pas sûr de la façon dont sql vous a permis de créer SP en premier lieu. USE Northwind; aller CREATE PROCEDURE SP1 AS COMMENCER SELECT * INTO #TempOrders from Orders; SELECT * DANS #TempOrders à partir des commandes; FIN I Essayé au-dessus du script, SQL ne me permettant pas de créer SP. – Vidyadhar