Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como retornar o valor da string do procedimento armazenado


Você está colocando seu resultado no RETURN valor em vez do @r passado valor.

De MSDN

Alterando seu procedimento.

ALTER procedure S_Comp(@str1 varchar(20),@r varchar(100) out) as 

    declare @str2 varchar(100) 
    set @str2 ='welcome to sql server. Sql server is a product of Microsoft' 
    if(PATINDEX('%'[email protected] +'%',@str2)>0) 
        SELECT @r =  @str1+' present in the string' 
    else 
        SELECT @r = @str1+' not present'

Chamando o procedimento

  DECLARE @r VARCHAR(100)
  EXEC S_Comp 'Test', @r OUTPUT
  SELECT @r