Discussione:
Stored procedure: ritorno parametri ?
(troppo vecchio per rispondere)
gianpiero
2006-05-05 14:50:01 UTC
Permalink
Ciao,..ho un problema:
Se chiamo dalla mia stored procede BATCH01 la seguente stored procedure:

EXEC dbo.Gtp_Consumi @Nav_i_Owner, @charge, @TariffIa

come faccio a ritornare, alla uscita della procedura dbo.Gtp_Consumi, il
valore di
@Tariffa alla procedura Batch01?

io ho provato così ma non funziona:

CREATE PROCEDURE dbo.Gtp_Consumi ( @Nav_i_Owner @TariffItavarchar
) AS

DECLARE @Con_fl_ConsTot_DaMax float;
SET @Con_fl_ConsTot_DaMax = 0;
SELECT @Con_fl_ConsTot_GG = Con_fl_Cons_Tot, @Con_fl_ConsGiorno =
Con_fl_Cons_Giorno FROM Consumo
WHERE Con_dt_Data = @chDataIeri AND Con_i_FiguraId = @Nav_i_Figura
SET @myRowCOUNT_1 = @@ROWCOUNT;

....eccetera

return @Tariffa
go
Lorenzo Benaglia
2006-05-05 14:59:04 UTC
Permalink
Post by gianpiero
come faccio a ritornare, alla uscita della procedura dbo.Gtp_Consumi,
il valore di
@Tariffa alla procedura Batch01?
Ciao Gianpiero,

devi definire il parametro @Tariffa come parametro di OUTPUT.
A titolo di esempio leggi il seguente post:
http://groups.google.it/group/microsoft.public.it.sql/msg/533322edb7b1c69b

Con il comando RETURN una stored procedure può restituire solo valori con
data type int.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
gianpiero
2006-05-05 15:30:01 UTC
Permalink
Grazie
E come si dichiara un parameto di tipo INPUT/OUTPUT come il pl-sql?
Post by Lorenzo Benaglia
Post by gianpiero
come faccio a ritornare, alla uscita della procedura dbo.Gtp_Consumi,
il valore di
@Tariffa alla procedura Batch01?
Ciao Gianpiero,
http://groups.google.it/group/microsoft.public.it.sql/msg/533322edb7b1c69b
Con il comando RETURN una stored procedure può restituire solo valori con
data type int.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Lorenzo Benaglia
2006-05-05 15:40:19 UTC
Permalink
Post by gianpiero
E come si dichiara un parameto di tipo INPUT/OUTPUT come il pl-sql?
Sempre OUTPUT:

USE tempdb;
GO

CREATE PROCEDURE dbo.Test(
@Param int OUTPUT
)
AS
SET @Param = @Param + 1
GO

DECLARE @Param int;
SET @Param = 0;
EXEC dbo.Test @Param OUTPUT;
PRINT 'Il valore di @Param è: ' + CAST(@Param AS varchar);
GO

/* Output:

Il valore di @Param è: 1

*/

DECLARE @Param int;
SET @Param = 50;
EXEC dbo.Test @Param OUTPUT;
PRINT 'Il valore di @Param è: ' + CAST(@Param AS varchar);
GO

/* Output:

Il valore di @Param è: 51

*/

DROP PROCEDURE dbo.Test;

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
gianpiero
2006-05-05 15:54:01 UTC
Permalink
Grazie Lorenzo,
infatti quando dicevo come in PL-SQL intendevo dire lo so fare in PL-sql ma
come si fa in T-SQL?
Grazie sei stato chiarissimo
Post by Lorenzo Benaglia
Post by gianpiero
E come si dichiara un parameto di tipo INPUT/OUTPUT come il pl-sql?
USE tempdb;
GO
CREATE PROCEDURE dbo.Test(
@Param int OUTPUT
)
AS
GO
GO
*/
GO
*/
DROP PROCEDURE dbo.Test;
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Luigi
2006-05-05 15:43:02 UTC
Permalink
Semplicemente con IN OUT.
Ti consiglio di dare un'occhiata al seguente link:

http://www.swissql.com/products/sqlserver-to-oracle/sql-server-to-oracle.html

e ti scaricarti una guida di PL/SQL da Oracle.
Post by gianpiero
Grazie
E come si dichiara un parameto di tipo INPUT/OUTPUT come il pl-sql?
Post by Lorenzo Benaglia
Post by gianpiero
come faccio a ritornare, alla uscita della procedura dbo.Gtp_Consumi,
il valore di
@Tariffa alla procedura Batch01?
Ciao Gianpiero,
http://groups.google.it/group/microsoft.public.it.sql/msg/533322edb7b1c69b
Con il comando RETURN una stored procedure può restituire solo valori con
data type int.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Loading...