sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo devolver el valor de cadena del procedimiento almacenado

Está colocando su resultado en el RETURN valor en lugar de en el pasado @r valor.

De MSDN

Cambiando su procedimiento.

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'

Llamar al procedimiento

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