2009-05-29 13 views
7

Vorrei sapere se in SQL è possibile restituire un valore varchar da una stored procedure, la maggior parte degli esempi che hanno visto il valore di ritorno è un int.stored procedure restituisce VarChar

Esempio all'interno di una procedura:

declare @ErrorMessage varchar(255) 

if @TestFlag = 0 
    set @ErrorMessage = 'Test' 

return @ErrorMessage 

risposta

14

È possibile utilizzare il parametro o il resulset di restituire qualsiasi tipo di dati.
valori di ritorno dovrebbero essere sempre intero

CREATE PROCEDURE GetImmediateManager 
    @employeeID INT, 
    @managerName VARCHAR OUTPUT 
AS 
BEGIN 
    SELECT @managerName = ManagerName 
    FROM HumanResources.Employee 
    WHERE EmployeeID = @employeeID 
END 

Tratto da here

7

Sarà necessario creare una funzione memorizzata per questo:

create function dbo.GetLookupValue(@value INT) 
returns varchar(100) 
as begin 
    declare @result varchar(100) 

    select 
    @result = somefield 
    from 
    yourtable 
    where 
    ID = @value; 

    return @result 
end 

è possibile utilizzare questa funzione memorizzata in questo modo:

select dbo.GetLookupValue(4) 

Marc

Problemi correlati