[英]How to return string value from the stored procedure
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('%'+@str1 +'%',@str2)>0)
return @str1+'present in the string'
else
return @str1+'not present'
我正在執行上面的存儲過程。 我收到以下錯誤:
消息 245,級別 16,狀態 1,過程 S_Comp,第 8 行將 varchar 值“Amruthanot present”轉換為數據類型 int 時轉換失敗。
請幫我解決這個問題
您將結果放在RETURN
值而不是傳遞的@r
值中。
來自MSDN
(RETURN)是返回的整數值。 存儲過程可以將整數值返回給調用過程或應用程序。
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('%'+@str1 +'%',@str2)>0)
SELECT @r = @str1+' present in the string'
else
SELECT @r = @str1+' not present'
DECLARE @r VARCHAR(100)
EXEC S_Comp 'Test', @r OUTPUT
SELECT @r
改變你的
return @str1+'present in the string' ;
至
set @r = @str1+'present in the string'
使用SELECT或輸出參數。 更多信息可以在這里找到: http : //www.sqlteam.com/forums/topic.asp?TOPIC_ID = 100201
是返回的整數值。 存儲過程可以向調用過程或應用程序返回一個整數值。
語法syntaxsql
返回 [ integer_expression ]
它只返回整數值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.