M
Marcus
I have built a stored procedure that:
- Drops a temptable if it exists
- Creates the temptable
- a SELECT is performed on the temptable
No syntax errors. No records returned (The procedure executed successfully
but did not return records)
If I execute the steps, one by one the work pretty well....
What can I do?
***************************************************************************************************
ALTER PROCEDURE dbo.trendBalance AS
BEGIN
if EXISTS (select * from INFORMATION_SCHEMA.tables where table_name =
'tempBalance' ) DROP TABLE tempBalance;
SELECT TOP 100 PERCENT SUM(CASE WHEN Gruppo = 5 AND dare > 0 THEN (Dare)
ELSE 0 END) - SUM(CASE WHEN Gruppo = 5 AND avere > 0 THEN (avere) ELSE 0
END) AS Crediti,
SUM(CASE WHEN Gruppo = 8 THEN Avere ELSE 0 END) - SUM(CASE WHEN
Gruppo = 8 THEN Dare ELSE 0 END) AS Debiti, SUM(CASE WHEN Gruppo = 40 THEN
Avere ELSE 0 END)
- SUM(CASE WHEN Gruppo = 40 THEN Dare ELSE 0 END) AS [Valore
della produzione], SUM(CASE WHEN Gruppo = 50 THEN Dare ELSE 0 END) -
SUM(CASE WHEN Gruppo = 50 THEN avere ELSE 0 END)
AS [Costi per la produzione], SUM(CASE WHEN Gruppo = 60 THEN
Dare ELSE 0 END) - SUM(CASE WHEN Gruppo = 60 THEN Avere ELSE 0 END) AS
[Spese di Gestione],
SUM(CASE WHEN conto = 7 THEN Dare ELSE 0 END) - SUM(CASE WHEN
conto = 7 THEN avere ELSE 0 END) AS Stipendi, YEAR(dbo.[C - Giornale].[Data
operazione]) AS Anno,
MONTH(dbo.[C - Giornale].[Data operazione]) AS Mese INTO
tempBalance
FROM dbo.[C - Dettaglio Giornale] INNER JOIN
dbo.[C - Giornale] ON dbo.[C - Dettaglio Giornale].[ID Giornale]
= dbo.[C - Giornale].[ID Giornale]
GROUP BY YEAR(dbo.[C - Giornale].[Data operazione]), MONTH(dbo.[C -
Giornale].[Data operazione])
ORDER BY YEAR(dbo.[C - Giornale].[Data operazione]), MONTH(dbo.[C -
Giornale].[Data operazione]) ;
Select crediti, debiti, [Valore della produzione], [Costi per la
produzione], [Spese di Gestione], Stipendi,
convert(datetime,convert(varchar(4),Anno) + (CASE WHEN mese < 10 THEN '0' +
convert(varchar(1),mese) ELSE convert(varchar(2),mese) END) + '01')
FROM tempBalance;
END
- Drops a temptable if it exists
- Creates the temptable
- a SELECT is performed on the temptable
No syntax errors. No records returned (The procedure executed successfully
but did not return records)
If I execute the steps, one by one the work pretty well....
What can I do?
***************************************************************************************************
ALTER PROCEDURE dbo.trendBalance AS
BEGIN
if EXISTS (select * from INFORMATION_SCHEMA.tables where table_name =
'tempBalance' ) DROP TABLE tempBalance;
SELECT TOP 100 PERCENT SUM(CASE WHEN Gruppo = 5 AND dare > 0 THEN (Dare)
ELSE 0 END) - SUM(CASE WHEN Gruppo = 5 AND avere > 0 THEN (avere) ELSE 0
END) AS Crediti,
SUM(CASE WHEN Gruppo = 8 THEN Avere ELSE 0 END) - SUM(CASE WHEN
Gruppo = 8 THEN Dare ELSE 0 END) AS Debiti, SUM(CASE WHEN Gruppo = 40 THEN
Avere ELSE 0 END)
- SUM(CASE WHEN Gruppo = 40 THEN Dare ELSE 0 END) AS [Valore
della produzione], SUM(CASE WHEN Gruppo = 50 THEN Dare ELSE 0 END) -
SUM(CASE WHEN Gruppo = 50 THEN avere ELSE 0 END)
AS [Costi per la produzione], SUM(CASE WHEN Gruppo = 60 THEN
Dare ELSE 0 END) - SUM(CASE WHEN Gruppo = 60 THEN Avere ELSE 0 END) AS
[Spese di Gestione],
SUM(CASE WHEN conto = 7 THEN Dare ELSE 0 END) - SUM(CASE WHEN
conto = 7 THEN avere ELSE 0 END) AS Stipendi, YEAR(dbo.[C - Giornale].[Data
operazione]) AS Anno,
MONTH(dbo.[C - Giornale].[Data operazione]) AS Mese INTO
tempBalance
FROM dbo.[C - Dettaglio Giornale] INNER JOIN
dbo.[C - Giornale] ON dbo.[C - Dettaglio Giornale].[ID Giornale]
= dbo.[C - Giornale].[ID Giornale]
GROUP BY YEAR(dbo.[C - Giornale].[Data operazione]), MONTH(dbo.[C -
Giornale].[Data operazione])
ORDER BY YEAR(dbo.[C - Giornale].[Data operazione]), MONTH(dbo.[C -
Giornale].[Data operazione]) ;
Select crediti, debiti, [Valore della produzione], [Costi per la
produzione], [Spese di Gestione], Stipendi,
convert(datetime,convert(varchar(4),Anno) + (CASE WHEN mese < 10 THEN '0' +
convert(varchar(1),mese) ELSE convert(varchar(2),mese) END) + '01')
FROM tempBalance;
END