Inicializaci proměnných z uložených výsledků postup

hlasů
0

Jsem ještě docela zeleně v SQL, a mám dotaz.

Jsem vytvoření vyhledávání pomocí zpravodajské služby, který najde účet založený na lat / long. Moje otázka je, jak mohu získat výsledky z uložené procedury pro inicializaci proměnných v následujícím sp?

Příklad: --This sp půjde ven a dostat minlat, maxlat, minlong, maxlong založený na poštovním směrovacím číslem. EXEC SERVER.DATABASE.dbo.GetLatLongApprox @Zip

--Then jsem deklarování proměnných, které budu používat ve službách zpravodajských DECLARE @MaxLat AS float DEKLAROVAT @MinLat jako float DECLARE @MaxLong AS plováku DEKLAROVAT @MinLong AS plováku

--Now Chci dynamicky nastavit základní hodnoty na základě výsledků prvního uložené procedury. SET @MaxLat =? SET @MinLat =? SET @MaxLong =? SET @MinLong =?

To vše jsou umístěny v jedné uložené procedury, které budu používat v Reporting Services. Doufejme, že to má smysl. Opět jsem zelenou a ne zcela mají sql ještě mluvit dolů.

Každá pomoc je velmi ceněn.

Položena 23/02/2009 v 17:53
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
2

Parametry vyhledávání OUTPUT v knihách o řádek

Zde je příklad

CREATE PROCEDURE TestProc
       @employeeID INT,
       @managerID INT OUTPUT
    AS
    BEGIN
       SELECT @managerID =2

    END
    Go


    declare @employeeID int, @managerID int
    select @employeeID = 1


    exec TestProc @employeeID,@managerID output

    select  @employeeID,@managerID
Odpovězeno 23/02/2009 v 17:59
zdroj uživatelem

hlasů
1

Chcete-li provést tuto úlohu, musíte použít výstupní parametry. Takhle:

CREATE PROCEDURE XPTO_Procedure

@intInput int,
@intOutput int OUTPUT

AS
set @intOutput = @intInput + 1 

go

Call it like this:

declare @intResult int
exec _4P_test 3 ,@intResult OUT
select @intResult

Je to příjemné a snadné: D

Odpovězeno 23/02/2009 v 18:01
zdroj uživatelem

hlasů
1

Myslím, že můžete použít parametry OUTPUT v tom.

EXEC SERVER.DATABASE.dbo.GetLatLongApprox @Zip, @MaxLong OUTPUT, ..., @MinLong OUTPUT

SELECT @MaxLong jako N '@ MaxLong' ... SELECT @MinLong jako N '@ MinLong'

Je to to, co jste hledali?

Odpovězeno 23/02/2009 v 17:58
zdroj uživatelem

hlasů
0

V uložené proceduře

EXEC dbo.GetLatLongApprox @Zip

stačí nastavit proměnné proti vrácené komponenty resultset, tj

SELECT
@MinLat = min_lat,
@MaxLat = max_lat,
@MinLong = min_long,
@MaxLong = max_long
FROM
my_resultset

EXEC dbo.MyReportingServiceStoredProcedure @MinLat, @MaxLat, @MinLong, @MaxLong

Pak předat tyto parametry jako do zpravodajské služby uložené procedury, jestli jsem tě správně pochopil a děláte to všechno v jeden uložené procedury.

Odpovězeno 23/02/2009 v 18:05
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more