存儲過程有返回值嗎
存儲過程可以返回一個整數值,方式是:
exec @r = myproc;
或者通過output.參數獲得返回值,這樣的返回值不限類型;
有過程mypro
『貳』 存儲過程能不能返回一個值啊
存儲過程有兩種方式返回值:
第一:通過output 參數
第二:通過return來實現
而在你的存儲過程已經聲明了一個output參數,只要你在你的存儲過程已經給這個值賦值了,它就能返回回去.
建議一般用output參數,因為它可以返回多個,而return只能是一個,return一般用來返回:影響的行數,錯誤編碼等
簡單例子:
DECLARE @tmpCount int
SET @tmpCount int = (SELECT COUNT(*) FROM 表名 WHERE 你要進行搜索的條件)
IF (@tmpCount = 0)
BEGIN
INSERT 操作
RETURN 1
END
ELSE
BEGIN
RETURN 0
END
『叄』 存儲過程返回值
create procere InsertNull
@TableName varchar(50),
@Result int output
AS
declare @dtName varchar(1000)
set @dtName='insert into ' + @TableName +' default values'
exec(@dtName)
set @Result=SCOPE_IDENTITY()
select @Result As Result --注意,這里顯示出來
go
然後exec insertnull ...參數
就相當於select Result
如果在程序里,執行這句之後,就能訪問Result欄位了
『肆』 oracle 中運行存儲過程作為返回值
oracle可以使用out型參數返回值,例如:
--查詢某商品編號是否存在,返回查詢狀態
createorreplaceprocereproc_getGood
(
param_shopIdnumber,--商品編號
param_flagoutnumber--查詢狀態0不存在
)
as
declarev_countnumber(1);
begin
selectcount(*)intov_countfromtb_goodswhereshopid=param_shopid;
ifv_count=0then
param_flag:=0;
else
param_flag:=1;
endif;
end;
『伍』 SQL 取存儲過程的返回值
你這個存儲過程,這樣直接返回字元串,是不行的。存儲過程直接返回,只能返回int類型的數據,或者是int類型的字元串。
你需要為你的存儲過程定義一個輸出參數。然後在調用時,接收這個輸出參數。
『陸』 mysql存儲過程可以有返回值嗎
MySQL存儲過程 如果和SQL一樣的話,那麼就是本身就有一個返回值了。所以只要引用該存儲過程就可以。。