sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man returnerar strängvärde från den lagrade proceduren

Du placerar ditt resultat i RETURN värde istället för i den angivna @r värde.

Från MSDN

Ändra din procedur.

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'

Anropar proceduren

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


  1. MySQL 5.5 förlorar efterföljande utrymmen i fråga

  2. Är TimeStamp-kolumnen unik?

  3. SQLAlchemy, PostgreSQL och array_agg:Hur väljer man objekt från array_agg?

  4. Postgres ON CONFLICT set kolumnreferens är tvetydig